← Back to Patent Explorer
US5574900A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for optimizing parallel processing of database queries

Assignee: International Business Machines Corp
•
Filing: 1994-02-25
•
Granted: 1996-11-12
•
Expires: 2014-02-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a system and method for retrieving data from a computerized database system. Prior to execution of a query statement, the system determines an optimal sequential execution plan for the query statement. The optimal sequential execution plan is used to determine an optimal parallel execution plan. During the execution of the query, run time variables are used to determine whether to use the sequential execution plan without modification or a modification of the parallel execution plan.

Inventors

  • 👤 Daniel T. Huang
  • 👤 Eileen T. Lin
  • 👤 Yun Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 14:50
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24532; G06F16/24534; G06F16/24542; G06F16/24549; Y; Y10; Y10S; Y10S707/00; Y10S707/99931

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 133 words
A method for retrieving data from a computerized database system having at least one processor, a memory, and at least one non-volatile storage system, using a query statement to identify data to be retrieved, comprising the steps performed by the database of: (a) during compile time: (i) determining an optimal sequential execution plan for the query statement, and (ii) determining an optimal parallel execution plan based on said optimal sequential execution plan, and based on available resource information; and (b) during run time: (i) determining, based on a value of at least one run time variable, whether to use said sequential execution plan without modification or a modification of said parallel execution plan as an optimal run time execution plan, and (ii) executing said query statement using said optimal run time execution plan.
Claim 2
Independent Claim 133 words
A method for retrieving data from a computerized database system having at least one processor, a memory, and at least one non-volatile storage system, using a query statement to identify data to be retrieved, comprising the steps performed by the database of: (a) during compile time: (i) determining an optimal sequential execution plan for the query statement, and (ii) determining an optimal parallel execution plan based on said optimal sequential execution plan, and based on available resource information; and (b) during run time: (i) determining, based on a value of at least one run time variable, whether to use said sequential execution plan without modification or a modification of said parallel execution plan as an optimal run time execution plan, and (ii) executing said query statement using said optimal run time execution plan.
Claim 3
Dependent Claim 26 words
The method of claim 1, further comprising the step of modifying said parallel execution strategy based on the value of at least one run time variable.
Claim 4
Dependent Claim 17 words
The method of claim 1, further comprising the step of determining units of parallelism during compile time.
Claim 5
Dependent Claim 80 words
The method of claim 3, further comprising the steps of: determining whether a host variable is present in the query; when a host variable is present in the query, determining a degree of parallelism for each of said units of parallelism during run time; and when a host variable is not present in the query, determining a preliminary degree of parallelism during compile time and a final degree of parallelism based on the preliminary degree of parallelism during run time.
Claim 6
Dependent Claim 22 words
The method of claim 1, wherein the run time variables comprise the number of CPUs and the amount of available buffer space.
Claim 7
Independent Claim 121 words
A system for retrieving data from a computerized database system having a plurality of processors, a memory, and a plurality of non-volatile storage devices, comprising: means for determining an optimal sequential execution plan for a query statement during compile time; means for determining, during compile time, an optimal parallel execution plan for the query statement based on the optimal sequential plan and the static information available at compile time; means for determining during run time, based on a value of at least one run time variable, whether to use said sequential execution plan without modification or said parallel execution plan as an optimal run time execution plan; and means for executing said query statement using said optimal run time execution plan.
Claim 8
Independent Claim 121 words
A system for retrieving data from a computerized database system having a plurality of processors, a memory, and a plurality of non-volatile storage devices, comprising: means for determining an optimal sequential execution plan for a query statement during compile time; means for determining, during compile time, an optimal parallel execution plan for the query statement based on the optimal sequential plan and the static information available at compile time; means for determining during run time, based on a value of at least one run time variable, whether to use said sequential execution plan without modification or said parallel execution plan as an optimal run time execution plan; and means for executing said query statement using said optimal run time execution plan.
Claim 9
Dependent Claim 20 words
The system of claim 6, further comprising means for modifying said parallel execution plan based on the run time variables.
Claim 10
Independent Claim 112 words
A system for retrieving data from a computerized database system having a memory, at least one processor, and at least one non-volatile storage device, comprising: means for determining an optimal sequential plan for executing a query statement; means for determining whether the query statement contains a host variable; means for determining one or more units of parallelism for the query statement based on the sequential plan; means for determining, at compile time, a preliminary degree of parallelism for each unit of parallelism based on the static run time environment information available during compile time; and means for modifying the preliminary degree of parallelism based on the values of the run time variables.
Claim 11
Independent Claim 112 words
A system for retrieving data from a computerized database system having a memory, at least one processor, and at least one non-volatile storage device, comprising: means for determining an optimal sequential plan for executing a query statement; means for determining whether the query statement contains a host variable; means for determining one or more units of parallelism for the query statement based on the sequential plan; means for determining, at compile time, a preliminary degree of parallelism for each unit of parallelism based on the static run time environment information available during compile time; and means for modifying the preliminary degree of parallelism based on the values of the run time variables.

References Cited (Backward Citations)

US4769772A Cited
US5121494A Cited
US5335345A Cited
US5325525A Cited
US5345585A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-12 2000-05-13 2000-11-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-12 2004-05-13 2004-11-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-12 2008-05-13 2008-11-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag