SQL structure analyzer
First Claim
Patent Images
1. A method comprising:
- receiving a database query language statement at an optimizer;
evaluating one or more choices in a search space to identify or generate an optimal execution plan for the database query language statement;
generating an annotated execution plan from the optimal execution plan by producing and storing one or more annotations in the annotated execution plan to explain one or more reasons for the optimizer selecting a choice over an alternative choice during the act of evaluating the one or more choices, whereinthe annotated execution plan is examined for identifying or generating a recommendation for one or more schema changes and the possible statement modification to rewrite the database query language statement; and
displaying the recommendation on a display apparatus or storing the result in a tangible computer usable medium or a storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method to addresses structural performance problems of a database query language statement is provided. The method includes receiving a database query language statement at an optimizer, evaluating choices in a search space to generate an execution plan for the statement, and producing annotations to record one or more reasons for selecting each choice while generating the execution plan.
-
Citations
31 Claims
-
1. A method comprising:
-
receiving a database query language statement at an optimizer; evaluating one or more choices in a search space to identify or generate an optimal execution plan for the database query language statement; generating an annotated execution plan from the optimal execution plan by producing and storing one or more annotations in the annotated execution plan to explain one or more reasons for the optimizer selecting a choice over an alternative choice during the act of evaluating the one or more choices, wherein the annotated execution plan is examined for identifying or generating a recommendation for one or more schema changes and the possible statement modification to rewrite the database query language statement; and displaying the recommendation on a display apparatus or storing the result in a tangible computer usable medium or a storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
means for receiving a database query language statement at an optimizer; means for evaluating one or more choices in a search space to identify or generate an optimal execution plan for the database query language statement; means for generating an annotated execution plan from the optimal execution plan by producing and storing one or more annotations in the annotated execution plan to explain one or more reasons for the optimizer selecting a choice over an alternative choice during the act of evaluating the one or more choices, wherein the annotated execution plan is examined for identifying or generating a recommendation for one or more schema changes and the possible statement modification to rewrite the database query language statement; and a display apparatus configured for displaying the recommendation or a tangible computer usable medium or a storage device configured for storing the result. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A volatile or non-volatile computer readable medium storing a computer program of instructions which, when executed by a processing system, cause the system to perform a method comprising:
-
receiving an database query language statement at an optimizer; evaluating one or more choices in a search space to identify or generate an optimal execution plan for the database query language statement; generating an annotated execution plan from the optimal execution plan by producing one or more annotations to explain one or more reasons for the optimizer selecting a choice over an alternative choice during the act of evaluating the one or more choices, wherein the annotated execution plan is examined for identifying or generating a recommendation for one or more schema changes and the possible statement modification to rewrite the database query language statement. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
receiving a database query language statement at an optimizer; evaluating one or more choices for operators of the database query language statement to generate an optimal execution plan for the database query language statement; selecting a choice for each operator; generating an annotated execution plan from the optimal execution plan by producing and storing one or more annotations in the annotated execution plan to explain one or more reasons for one or more rejected choices that have been rejected by the optimizer for an operator; generating one or more recommendations for one or more schema changes and for changing one of the operators to rewrite the database query language statement based on the annotations; and displaying the one or more recommendations on a display apparatus or storing the result in a tangible computer usable medium or a storage device. - View Dependent Claims (23, 24)
-
-
25. A method comprising:
-
receiving a database query language statement at a query optimizer; evaluating one or more choices in a search space at the query optimizer to generate an optimal execution plan for the database query language statement; generating an annotated execution plan from the optimal execution plan by producing one or more annotations in the annotated execution plan, at the query optimizer, to explain one or more reasons for the query optimizer selecting or rejecting a choice over an alternative choice during the act of evaluating the one or more choices, wherein the annotated execution plan is examined for generating a recommendation for one or more schema changes and the possible statement modification to rewrite the database query language statement; examining, at the query optimizer, the one or more annotations; and displaying the recommendation on a display apparatus or storing the result in a tangible computer usable medium or a storage device. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification