Estimating error propagation for database optimizers
AssigneeInternational Business Machines Corporation
InventorHarpreet Singh
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed to determine error propagation for a query optimizer component of a database management system for a database. A database query is received that specifies one or more query conditions. Measures of actual and estimated selectivity of the one or more query conditions are determined. A measure of estimated deviation between the measures of actual and estimated selectivity is determined. A query execution plan is generated or selected based on the measure of estimated deviation.
Claims20
A computer-implemented method to determine error propagation for a query optimizer component of a database management system (DBMS) for a database, the method comprising:
- receiving a database query specifying one or more query conditions;
- determining a measure of actual selectivity of the one or more query conditions specified in the received database query;
- determining a measure of estimated selectivity of the one or more query conditions specified in the received database query;
- and
- determining a measure of estimated deviation between the determined measure of actual selectivity and the determined measure of estimated selectivity;
- wherein the query optimizer component, when executed by one or more computer processors, is configured to perform at least one of:
- generating a first query execution plan based on the received database query and based further on the determined measure of estimated deviation;
- and
- selecting, based on the determined measure of estimated deviation, the first query execution plan from a plurality of distinct query execution plans generated based on the received database query.
A computer program product to determine error propagation for a query optimizer component of a database management system (DBMS) for a database, the computer program product comprising:
- a computer-readable storage medium having program code embodied therewith, the program code executable by one or more computer processors to:
- receive a database query specifying one or more query conditions;
- determine a measure of actual selectivity of the one or more query conditions specified in the received database query;
- determine a measure of estimated selectivity of the one or more query conditions specified in the received database query;
- and
- determine a measure of estimated deviation between the determined measure of actual selectivity and the determined measure of estimated selectivity;
- wherein the query optimizer component, when executed by one or more computer processors, is configured to perform at least one of:
- generating a first query execution plan based on the received database query and based further on the determined measure of estimated deviation;
- and
- selecting, based on the determined measure of estimated deviation, the first query execution plan from a plurality of distinct query execution plans generated based on the received database query.
A system to determine error propagation for a query optimizer component of a database management system (DBMS) for a database, the system comprising:
- one or more computer processors;
- a memory containing a program which, when executed by the one or more computer processors, is configured to perform an operation comprising:
- receiving a database query specifying one or more query conditions;
- determining a measure of actual selectivity of the one or more query conditions specified in the received database query;
- determining a measure of estimated selectivity of the one or more query conditions specified in the received database query;
- and
- determining a measure of estimated deviation between the determined measure of actual selectivity and the determined measure of estimated selectivity and by operation of one or more computer processors;
- wherein the query optimizer component is configured to perform at least one of:
- generating a first query execution plan based on the received database query and based further on the determined measure of estimated deviation;
- and
- selecting, based on the determined measure of estimated deviation, the first query execution plan from a plurality of distinct query execution plans generated based on the received database query.
Dependencies are inferred from the claim text.