Patent ID: 8825629

Claim:
A method comprising: identifying a set of high load database query language statements from a workload by performing a comparison between performance information for query language statements in the workload, wherein the workload comprises query language statements; for each statement in the set, performing an optimization process on the statement; determining an access structure for an advanced transformation of the statement; during the optimization process, generating a set of candidate indexes which could be used to improve an execution plan for the statement, wherein the set of candidate indexes comprises index candidates for the access structure; selecting a subset from the set of candidate indexes based at least in part on a determination of whether an index maintenance cost exceeds a non-zero threshold or not; identifying an index in the subset that can satisfy a different statement; consolidating the identified index in the subset with an index for the different statement; determining an execution plan using a processor for the statement using the subset of indexes; and storing the execution plan in a medium.