System for addressing inefficient query processing
OwnerMark R. Gordoninventor
Life of this patent
Estimating the term…
Abstract
A system for analyzing predicate usage and proposing solutions to improve query performance. The system comprises a system for collecting performance statistics for database queries; an aggregation system that organizes the performance statistics based on predicate combinations used in the database queries; and an evaluation system that compares the performances of queries having similar predicate combinations. Further features include a problem identification system that identifies a predicate, which when added to a query, results in a low performing query, and a solution proposal system that automatically proposes a solution to address the low performing query.
Claims14
A query predicate analysis system comprising:
- a system for collecting performance statistics for database queries, wherein the database queries include statements submitted by end-users having different predicate combinations;
- an aggregation system that organizes the performance statistics based on the different predicate combinations of the database queries;
- and
- an evaluation system that analyzes performance of a subset of the database queries having different predicate combinations that include common predicates.
A computer program product comprising a computer usable medium having computer usable program code for analyzing query performance based on predicate usage, which when executed on a computer comprises:
- means for collecting performance statistics for database queries comprising database statements entered by end-users having different predicate combinations;
- means for organizing the performance statistics based on the different predicate combinations of the database queries;
- means for analyzing the performances of a subset of the database queries having different predicate combinations that include common predicates;
- and
- means for generating analysis results.
A query predicate analysis system comprising:
- a system for collecting performance statistics for database queries, wherein the database queries include statements submitted by end-users having different predicate combinations;
- an aggregation system that organizes the performance statistics based on the different predicate combinations of the database queries;
- and
- an evaluation system that analyzes performance of a subset of the database queries having different predicate combinations that include common predicates, wherein the evaluation system calculates an estimate improvement for adding a predicate given by:
- Estimated improvement=Time−(((count/second with added predicate)/(count/second))*Time), where Time is a sum of time for database queries containing an added predicate, count/second is a rate for running a database query without the added predicate and count/second with added predicate is a rate for running the database query with the added predicate.
A query predicate analysis system comprising:
- a system for collecting performance statistics for database queries, wherein the database queries include statements submitted by end-users having different predicate combinations;
- an aggregation system that organizes the performance statistics based on the different predicate combinations of the database queries;
- an evaluation system that analyzes performance of a subset of the database queries having different predicate combinations that include common predicates;
- and
- a problem identification system that identifies a first predicate which when added to an identified database query results in a substantial degradation of database query performance, wherein the problem identification system selects a problem from a problem list including:
- missing statistics on an added column;
- missing index on a new column;
- missing multi-column index on a fact table;
- and the first predicate contains a non-indexable operator.
Dependencies are inferred from the claim text.