CPC G06F 16/24542 (2019.01) [G06F 11/3419 (2013.01)] | 18 Claims |
1. A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
receiving a database query requesting a database to conditionally return one or more data blocks stored at the database, the database stored on memory hardware in communication with the data processing hardware and the database query comprising a plurality of respective parameters characterizing the database query;
selecting, based on the received database query, a query template from a set of query templates, the selected query template comprising a plurality of operations for performing the database query;
generating, based on the selected query template, a set of query plans, each query plan in the set of query plans configured to execute the database query using the plurality of operations of the selected query template in a corresponding different order;
training a model using historical database queries;
generating, using the trained model, a query plan score for each query plan in the set of query plans based on the plurality of respective parameters;
selecting, using the query plan score generated for each query plan in the set of query plans, a query plan from the set of query plans; and
executing the database query using the selected query plan.
|