IP Library Granted Patent US 7,376,638
Granted Patent B2
US 7,376,638 · App. 10/746,961 · Granted May 20, 2008

System and method for addressing inefficient query processing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,376,638
App. No.
10/746,961
Granted
May 20, 2008
Kind
B2
Abstract

A system and method 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.

Claims (15)

1. A method of analyzing query performance based on predicate usage, comprising:

collecting performance statistics for database queries comprising database statements entered by end-users having different predicate combinations;

organizing the performance statistics based on the different predicate combinations of the database queries;

analyzing performance of a subset of the database queries having different predicate combinations that include common predicates;

generating analysis results; and

identifying a problem from a list consisting of: missing statistics on an added column, missing index on new column, missing multi-column index on a fact table, and predicate contains a non-indexable operator.

2. The method of claim 1 , comprising the further step of automatically proposing a solution to address a database query from the subset of database queries identified as a low performer.

3. The method of claim 2 , comprising the further step of comparing the performance of a second subset of database queries before and after an implementation of a proposed solution.

4. The method of claim 1 , wherein the performance statistics include: rows that satisfy a set of predicates, query elapsed time, index pages referenced, and rows processed.

5. The method of claim 4 , wherein the step of analyzing performance includes the step of calculating 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.

6. A method of analyzing query performance based on predicate usage, comprising:

collecting performance statistics for database queries comprising database statements entered by end-users having different predicate combinations;

organizing the performance statistics based on the different predicate combinations of the database queries;

analyzing performance of a subset of the database queries having different predicate combinations that include common predicates, wherein analyzing performance includes the step of calculating 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; and

generating analysis results.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2003
From: GORDON, MARK R.
To: INTERNATIONAL BUSINESS MACHINES ("IBM")
Reel/Frame 014854/0476 →