Claims
- 1. A method for tuning a database query, comprising:
providing a base access plan to implement the database query; providing statistics including information on a layout of the database against which the query will be executed; processing the statistics to determine performance problems with the base access plan as part of a first analysis of the base access plan; processing the determined performance problems as part of a second analysis to provide an analysis of the determined performance problems and processing cost of the base access plan; and generating recommendations to tune the base access plan to improve performance.
- 2. The method of claim 1, wherein heuristics rules are used to determine the performance problems with the base access plans.
- 3. The method of claim 1, wherein in the first analysis, inconsistencies and incompatibilities between the database being queried and the base access plan are considered in determining the performance problems.
- 4. The method of claim 1, wherein the second analysis considers additional information in providing the analysis of the performance problems determined during the first analysis.
- 5. The method of claim 4, wherein the second analysis considers output from a query engine that generated the base access plan and identifies areas of estimation error.
- 6. The method of claim 1, further comprising:
using the determined performance problems from the first analysis to generate the tuning recommendations.
- 7. The method of claim 1, wherein generating the tuning recommendations further comprises generating recommendations to tune the database structure to improve query performance.
- 8. The method of claim 1, further comprising:
processing the analysis of the determined performance problems resulting from the second analysis and the generated recommendations to generate optimization hints, wherein the optimization hints indicate modifications to the base access plan to produce a modified access plan having improved performance over the base access plan; and generating a user interface providing a visualization of the optimization hints.
- 9. The method of claim 8, further comprising:
generating in the user interface a visualization of the base access plan to enable a user to apply at least one of the modifications indicated in the optimization hints to modify the base access plan to produce the modified access plan.
- 10. The method of claim 9, wherein the visualized optimization hints indicate a plurality of join sequences for tables subject to the query, further comprising:
receiving user selection of one join sequence from visualized optimization hints, wherein the modified access plan implements the user selected join sequence.
- 11. The method of claim 10, wherein the optimization hints further indicate join methods and table access methods, further comprising:
receiving user selection of at least one of the visualized join methods and/or table access methods in the user interface to improve the performance of the database query; and implementing the user selected join method and/or table access method in the modified access plan.
- 12. The method of claim 9, further comprising:
processing the modified access plan to determine performance problems with the modified access plan; processing the determined performance problems to determine further optimization hints indicating modifications of the modified access plan to improve the performance of the database query; and rendering a visualization of the further optimization hints.
- 13. A method for generating statistical information concerning database objects accessed by a database query, wherein the statistical information is used to determine an access plan for a query on the database objects, comprising:
using initial statistical information to generate an access plan; processing the access plan, query statements, and database structure to determine important statistical information for the query statement; analyzing the initial statistical information to determine whether the initial statistical information includes the important statistical information; and rendering information on important statistical information not included in the initial statistical information.
- 14. The method of claim 13, further comprising:
if a portion of the initial statistical information comprises important statistical information, then determining whether the portion of the initial statistical information is incomplete and/or inaccurate; and rendering information on the portion of the initial statistical information that is inaccurate and/or incomplete.
- 15. The method of claim 14, further comprising:
processing the information on the portion of the initial statistical information that is inaccurate and/or incomplete to determine a course of action to resolve any inaccuracies and/or incompleteness with the initial statistical information; and providing a visualization of the determined course of action.
- 16. The method of claim 15, wherein providing the visualization further comprises providing information on consequences of using inaccurate and/or incomplete statistics.
- 17. The method of claim 13, wherein the initial statistical information on the database includes at least one type of statistical information that is a member of the set of statistical information comprising: a number of records and pages in a database table; a depth and breadth of indexes in the database; an ordering of records in indexes of the database; and filter factor statistics used to compute estimated costs of access paths.
- 18. A system for tuning a database query, comprising:
means for providing a base access plan to implement the database query; means for providing statistics including information on a layout of the database against which the query will be executed; means for processing the statistics to determine performance problems with the base access plan as part of a first analysis of the base access plan; means for processing the determined performance problems as part of a second analysis to provide an analysis of the determined performance problems and processing cost of the base access plan; and means for generating recommendations to tune the base access plan to improve performance.
- 19. The system of claim 18, wherein heuristics rules are used to determine the performance problems with the base access plans.
- 20. The system of claim 18, wherein in the first analysis, inconsistencies and incompatibilities between the database being queried and the base access plan are considered in determining the performance problems.
- 21. The system of claim 18, wherein the means for generating the tuning recommendations further generates recommendations to tune the database structure to improve query performance.
- 22. The system of claim 18, further comprising:
means for processing the analysis of the determined performance problems resulting from the second analysis and the generated recommendations to generate optimization hints, wherein the optimization hints indicate modifications to the base access plan to produce a modified access plan having improved performance over the base access plan; and means for generating a user interface providing a visualization of the optimization hints.
- 23. The system of claim 22, further comprising:
means for generating in the user interface a visualization of the base access plan to enable a user to apply at least one of the modifications indicated in the optimization hints to modify the base access plan to produce the modified access plan.
- 24. A system for generating statistical information concerning database objects accessed by a database query, wherein the statistical information is used to determine an access plan for a query on the database objects, comprising:
means for using initial statistical information to generate an access plan; means for processing the access plan, query statements, and database structure to determine important statistical information for the query statement; means for analyzing the initial statistical information to determine whether the initial statistical information includes the important statistical information; and means for rendering information on important statistical information not included in the initial statistical information.
- 25. The system of claim 24, further comprising:
means for determining, whether the portion of the initial statistical information is incomplete and/or inaccurate if a portion of the initial statistical information comprises important statistical information; and means for rendering information on the portion of the initial statistical information that is inaccurate and/or incomplete.
- 26. The system of claim 25, further comprising:
means for processing the information on the portion of the initial statistical information that is inaccurate and/or incomplete to determine a course of action to resolve any inaccuracies and/or incompleteness with the initial statistical information; and providing a visualization of the determined course of action.
- 27. An article of manufacture for tuning a database query, wherein the article of manufacture causes operations to be performed, the operations comprising:
providing a base access plan to implement the database query; providing statistics including information on a layout of the database against which the query will be executed; processing the statistics to determine performance problems with the base access plan as part of a first analysis of the base access plan; processing the determined performance problems as part of a second analysis to provide an analysis of the determined performance problems and processing cost of the base access plan; and generating recommendations to tune the base access plan to improve performance.
- 28. The article of manufacture of claim 27, wherein heuristics rules are used to determine the performance problems with the base access plans.
- 29. The article of manufacture of claim 27, wherein in the first analysis, inconsistencies and incompatibilities between the database being queried and the base access plan are considered in determining the performance problems.
- 30. The article of manufacture of claim 27, wherein the second analysis considers additional information in providing the analysis of the performance problems determined during the first analysis.
- 31. The article of manufacture of claim 30, wherein the second analysis considers output from a query engine that generated the base access plan and identifies areas of estimation error.
- 32. The article of manufacture of claim 27, further comprising:
using the determined performance problems from the first analysis to generate the tuning recommendations.
- 33. The article of manufacture of claim 27, wherein generating the tuning recommendations further comprises generating recommendations to tune the database structure to improve query performance.
- 34. The article of manufacture of claim 27, further comprising:
processing the analysis of the determined performance problems resulting from the second analysis and the generated recommendations to generate optimization hints, wherein the optimization hints indicate modifications to the base access plan to produce a modified access plan having improved performance over the base access plan; and generating a user interface providing a visualization of the optimization hints.
- 35. The article of manufacture of claim 34, further comprising:
generating in the user interface a visualization of the base access plan to enable a user to apply at least one of the modifications indicated in the optimization hints to modify the base access plan to produce the modified access plan.
- 36. The article of manufacture of claim 35, wherein the visualized optimization hints indicate a plurality of join sequences for tables subject to the query, further comprising:
receiving user selection of one join sequence from visualized optimization hints, wherein the modified access plan implements the user selected join sequence.
- 37. The article of manufacture of claim 36, wherein the optimization hints further indicate join methods and table access methods, further comprising:
receiving user selection of at least one of the visualized join methods and/or table access methods in the user interface to improve the performance of the database query; and implementing the user selected join method and/or table access method in the modified access plan.
- 38. The article of manufacture of claim 35, further comprising:
processing the modified access plan to determine performance problems with the modified access plan; processing the determined performance problems to determine further optimization hints indicating modifications of the modified access plan to improve the performance of the database query; and rendering a visualization of the further optimization hints.
- 39. An article of manufacture for generating statistical information concerning database objects accessed by a database query, wherein the statistical information is used to determine an access plan for a query on the database objects, wherein the article of manufacture causes operations to be performed, the operations comprising:
using initial statistical information to generate an access plan; processing the access plan, query statements, and database structure to determine important statistical information for the query statement; analyzing the initial statistical information to determine whether the initial statistical information includes the important statistical information; and rendering information on important statistical information not included in the initial statistical information.
- 40. The article of manufacture of claim 39, further comprising:
if a portion of the initial statistical information comprises important statistical information, then determining whether the portion of the initial statistical information is incomplete and/or inaccurate; and rendering information on the portion of the initial statistical information that is inaccurate and/or incomplete.
- 41. The article of manufacture of claim 39, further comprising:
processing the information on the portion of the initial statistical information that is inaccurate and/or incomplete to determine a course of action to resolve any inaccuracies and/or incompleteness with the initial statistical information; and providing a visualization of the determined course of action.
- 42. The article of manufacture of claim 41, wherein providing the visualization further comprises providing information on consequences of using inaccurate and/or incomplete statistics.
- 43. The article of manufacture of claim 39, wherein the initial statistical information on the database includes at least one type of statistical information that is a member of the set of statistical information comprising: a number of records and pages in a database table; a depth and breadth of indexes in the database; an ordering of records in indexes of the database; and filter factor statistics used to compute estimated costs of access paths.
RELATED APPLICATIONS
[0001] This application claims benefit to provisional application No. 60/366,051, filed on Mar. 19, 2002, which provisional patent application is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60366051 |
Mar 2002 |
US |