Patent ID: 8666970
Filing Date: 2014-03-04
Classification: G06F

Abstract:
1. A computer-implemented method comprising: receiving a particular query plan comprising a plurality of query operations, the query plan selected by a user for evaluation; accessing, by one or more computers, one or more rules that identify query operations that degrade performance of a query plan or that render a query plan inoperable, wherein each of the one or more rules that identify query operations that degrade the performance of a query plan are associated with a single warning rating, and each of the one or more rules that identify query operations that render a query plan inoperable are associated with a single failing rating; evaluating, by the one or more computers, each of the plurality of query operations against the one or more rules; automatically identifying, by the one or more computers based on the evaluation of each of the plurality of query operations against the one or more rules, one or more query operations included in the particular query plan that violate one or more of the rules; determining, for each of the one or more identified query operations that violate one or more of the rules, whether the rule violated by an identified query operation indicates that the identified query operation degrades performance of the particular query plan, or that the identified query operation renders the particular query plan inoperable; assigning, for each of the one or more identified query operations that violate one or more of the rules, the rating associated with the rule violated by an identified query operation, wherein the assigned rating is (i) the single warning rating if the violated rule indicates that the identified query operation degrades performance of the particular query plan, or (ii) the single failure rating if the violated rule indicates that the identified query operation renders the particular query plan inoperable; assigning an overall rating to the particular query plan based on the rating assigned to each of the one or more identified query operations, the overall rating being one of the single warning rating or the single failing rating; generating a report that references: (i) the one or more identified query operations that violate one or more of the rules, (ii) the assigned rating for each of the identified one or more query operations that violate one or more of the rules, and (iii) the assigned overall rating for the particular query plan; and providing the report for output to the user; wherein the report further comprises: receiving a modified particular query plan that the user has selected for evaluation, wherein one or more of the identified query operations are modified based on the rating for the respective query operation, the reason for the rating for the respective query operation, and the recommendation for improving the respective query operation.