IP Library Granted Patent US 7,383,246
Granted Patent B2
US 7,383,246 · App. 10/698,828 · Granted Jun 3, 2008

System, method, and computer program product for progressive 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,383,246
App. No.
10/698,828
Granted
Jun 3, 2008
Kind
B2
Abstract

A method, system, and computer program product to make query processing more robust in the face of optimization errors. The invention validates the statistics and assumptions used for compiling a query as the query is executed and, when necessary, progressively re-optimizes the query in mid-execution based on the knowledge learned during its partial execution. The invention selectively places a number of CHECK operators in a query execution plan to validate the optimizer's cardinality estimates against actual cardinalities. Errors beyond a threshold trigger re-optimization, and the optimizer decides whether the old plan is still optimal and whether to re-use previously computed results. The invention addresses arbitrary SQL queries whose plans can contain sub-queries, updates, trigger checking, and view maintenance operations. The invention can handle concurrent update transactions or updates of common sub-expressions in a query execution plan without compromising consistency and isolation as locking information is tied to the record ID.

Claims (8)

1. A computer-implemented method for accelerating database query processing, comprising:

determining during execution of a particular query whether continued execution of a particular query execution plan is worthwhile by

calculating the amount of query execution remaining;

placing a number of checkpoints in the particular query execution plan;

computing the difference between estimated optimization parameter values and actual optimization parameter values at a given checkpoint to determine the significance of parameter estimation errors, by pushing the given checkpoint below a materialization point for subsequent execution, transferring each row to its parent operator in a pipelined manner, storing identifiers of all rows returned on a side table using an INSERT plan operator just below a return operator, then compensating for returned row results by executing an anti join between the side table and a new result stream;

concluding that continued execution is not worthwhile if a significant amount of query execution remains and significant parameter estimation errors have occurred; and

if continued execution is not worthwhile, then suspending query execution, re-optimizing the particular query, and restarting query execution with a re-optimized query plan; and

outputting query results.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HULU, LLC
Reel/Frame 039071/0323 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF ASSIGNOR NAME, VIJAYSHANKAR RAMAN. ALSO CORRECT EXECUTION DATE OF MARKI VOLKER. PREVIOUSLY RECORDED ON REEL 014636 FRAME 0320. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 10, 2015
From: LOHMAN, GUY MARING; VOLKER, MARKI; PIRAHESH, MIR HAMID; RAMAN, VIJAYSHANKAR; SIMMEN, DAVID EVERETT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037268/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2004
From: LOHMAN, GUY MARING; VOLKER, MARKI; PIRAHESH, MIR HAMID; RAMAN, VIJASHANKAR; SIMMEN, DAVID EVERETT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014636/0320 →