| CPC G06F 16/2272 (2019.01) [G06F 11/3419 (2013.01); G06F 16/24542 (2019.01)] | 20 Claims |

|
1. A method for providing index filtering for an index tuning system, the method comprising:
receiving a plurality of different workloads and a plurality of different databases, each database including different tables and each workload including a plurality of queries;
generating labeled training data by making optimizer calls to a query optimizer of a database using query and index configuration pairs from the plurality of databases and the plurality of workloads using the index tuning system;
training an index filter model to identify signals in the labeled training data, the signals being indicative of a potential performance improvement associated with using an index configuration for a given query;
learning rules based on the signals for identifying spurious indexes using the index filter model which enable the index filter model to identify the spurious indexes without having to make optimizer calls;
storing the index filter model in a memory;
using the index filter model to identify spurious indexes in a group of syntactically relevant indexes which have been selected for a workload without making optimizer calls to evaluate the group of syntactically relevant indexes; and
removing the identified spurious indexes from the group of syntactically relevant indexes so the spurious indexes are not used in index configurations during an index tuning process.
|