Patent ID: 9135299
Filing Date: 2015-09-15
Classification: G06F

Abstract:
1. A method of improving the performance of frequently executed queries in a database system, comprising: receiving, by the database system, a first query to be executed; generating a plurality of query plans including a first query plan and a second query plan; evaluating a first cost value of the first query plan and a second cost value of the second query plan that respectively specify an estimated processing cost for execution of the first query plan and the second query plan; evaluating the second query plan as potentially having a lower execution cost than the first query plan if an index was generated for utilization of the second query plan; saving the second cost value and an index cost value that specifies an estimated cost for generating the index; determining a parametric value corresponding to an estimated break-even point at which cost of execution of the second query plan and creation of the index would not exceed the first cost value of executing the first query plan, wherein the break-even point occurs when a cumulative query savings outweighs the estimated cost of having to generate the index; determining at least partly based on the estimated break-even point and a number of times the first query has or is likely to be executed, whether to create the index to the execute the second query plan utilizing the index, instead of executing the first query plan; and creating the index and executing the second query plan utilizing the index when determined at least partly based on the estimated break-even point that is more efficient to create the index to the execute the second query plan utilizing the index, instead of executing the first query plan.