Techniques for scoring and comparing query execution plans
First Claim
Patent Images
1. A machine-implemented method, comprising:
- acquiring predefined parameter types for comparing multiple query execution plans against one another, each query execution plan including a number of parameters associated with the parameter types, each parameter identified and acquired for comparison from each query execution plan and each query execution plan developed by a different database optimizer;
assigning predefined weights to each of the parameters that are identified within each of the query execution plans, the weights assigned based on the parameter type for each parameter;
computing a total score for each of the query execution plans in response to the weights associated with each query execution plan to select a particular query execution plan for a particular database optimizer.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for scoring and comparing query execution plans are provided. Predefined parameter types are identified in query execution plans and predefined weighted values are assigned to any identified parameters within the query execution plans. The weights are summed on a per processing step bases and the sum of the processing steps represents a total score for a particular query execution plan. The total scores or individual step scores from different query execution plans can then be compared or evaluated against one another for optimization and problem detection analysis.
-
Citations
16 Claims
-
1. A machine-implemented method, comprising:
-
acquiring predefined parameter types for comparing multiple query execution plans against one another, each query execution plan including a number of parameters associated with the parameter types, each parameter identified and acquired for comparison from each query execution plan and each query execution plan developed by a different database optimizer; assigning predefined weights to each of the parameters that are identified within each of the query execution plans, the weights assigned based on the parameter type for each parameter; computing a total score for each of the query execution plans in response to the weights associated with each query execution plan to select a particular query execution plan for a particular database optimizer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A machine-implemented method, comprising:
-
acquiring a first query execution plan and a second query execution plan, the first query execution plan developed from a first database optimizer and the second query execution plan developed by a second database optimizer, the first and second database optimizers are different versions of a same database optimizer; iterating each step of the first query execution plan and the second query execution plan to acquire independent scores for each step of each plan, the scores weighted based on parameter type for parameters associated with each query execution plan; and adding each score for each step of each plan together to obtain a first total score for the first query execution plan and a second total score for the second query execution plan. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A machine-implemented system comprising:
-
a query execution step scoring service implemented in a machine-accessible medium and to process on a machine; and a query plan scoring service implemented in a machine-accessible medium and to process on the machine, the query plan scoring service is to decompose query execution plans into independent processing steps and pass each step to the query execution step scoring service, each query execution plan developed by a different database optimizer, and the query execution step scoring service is to supply a step score for each step provided by the query plan scoring service, each score a sum of weights based on particular parameter types assigned in each of the execution plans, and the query plan scoring service is to add the step scores for each query execution plan to acquire a total score for each query execution plan to select a particular query execution plan and a particular database optimizer. - View Dependent Claims (13, 14, 15, 16)
-
Specification