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

Plan-per-tuple optimizing of database queries with user-defined functions

Assignee: Teradata US Inc
•
Filing: 1998-08-19
•
Granted: 2002-03-05
•
Expires: 2018-08-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, apparatus, and article of manufacture for executing a database query in a database management system. The method comprises the steps of generating a plurality of query plans for the database query, evaluating the plurality of query plans using a measured value for the resource metric, selecting a query plan from the evaluated query plans based on the measured resource metric, and executing the selected query plan. The apparatus comprises a query plan generator for generating a plurality of query plans, each query plan optimized with respect to at least one resource metric, and a query plan evaluator, communicatively coupled to a resource object and a database management system node, the evaluator selecting a query plan from the optimized query plan according to a measured resource metric obtained from the global resource object. The article of manufacture comprises a program storage device tangibly embodying one or more programs of instructions executable by the computer to perform the method steps of executing a database query in a database management system, the method steps comprising the method steps above.

Inventors

  • 👤 Felipe Carino, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 21:58
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2458; G06F16/2462; G06F16/2453; G06F16/24534; G06F16/24542; G06F16/24549; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 199 words
A method of executing a database query in a database management system, comprising the steps of: (a) generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) at run time, evaluating the plurality of query plans using a measured value for the system resource metric; (c) selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) executing the selected query plan in the database management system; predicting at least one resource requirement for the query; generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; at run time, evaluating the plurality of query plans using a measured value for the system resource metric; selecting a query plan from the evaluated plurality of query plans based on the measured value; executing the selected query plan in the database management system; when the predicted resource requirement exceeds a threshold value, and generating a query plan when the predicted resource requirement does not exceed the threshold value.
Claim 2
Independent Claim 199 words
A method of executing a database query in a database management system, comprising the steps of: (a) generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) at run time, evaluating the plurality of query plans using a measured value for the system resource metric; (c) selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) executing the selected query plan in the database management system; predicting at least one resource requirement for the query; generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; at run time, evaluating the plurality of query plans using a measured value for the system resource metric; selecting a query plan from the evaluated plurality of query plans based on the measured value; executing the selected query plan in the database management system; when the predicted resource requirement exceeds a threshold value, and generating a query plan when the predicted resource requirement does not exceed the threshold value.
Claim 3
Dependent Claim 49 words
The method of claim 1 , wherein the step of generating a plurality of query plans is performed at a database management system compile time, and the steps of evaluating the plurality of query plans and selecting a query plan are performed at a database management system run time.
Claim 4
Dependent Claim 15 words
The method of claim 1 , wherein the query invokes a predicate user-defined function (UDF).
Claim 5
Dependent Claim 46 words
The method of claim 1 , further comprising the steps of: determining if the query invokes a resource critical operation; performing steps (a)-(c) when the query involves a resource critical operation; and generating a query plan when the query does not invoke a resource critical operation.
Claim 6
Dependent Claim 46 words
The method of claim 1 , further comprising the steps of determining if the query invokes a substantially variant operation; performing steps (a)-(c) when the query invokes a substantially variant operation; and generating a query plan when the query does not invoke a substantially variant operation.
Claim 7
Dependent Claim 43 words
The method of claim 1 , wherein the step of evaluating the plurality of query plans using a measured value for the system resource metric comprises the step of obtaining the measured value for the system resource metric from a global resource object.
Claim 8
Dependent Claim 68 words
The method of claim 1 , wherein the system resource metric is selected from the group comprising: an available processing capacity of a database management system node; an available non-volatile memory for a database management system node; an available volatile memory capacity of a database management system node; and an available communications throughput capacity from a first database management system node to a second database management system node.
Claim 9
Dependent Claim 99 words
The method of claim 1 , wherein the database management system comprises a plurality of database management system nodes and wherein: the step of evaluating the plurality of query plans using a measured value for the system resource metric comprises the step of obtaining the measured value of the system resource metric for each of the database management system nodes; and the step executing the query plan comprises the step of executing the selected query plan at a database management system node selected according to the measured value for the system resource metric at the database management system node.
Claim 10
Independent Claim 132 words
An apparatus for executing a database query in a database management system, comprising: a query plan generator for generating a plurality of query plans, each query optimized with respect to at least one system resource metric of the database management system; and a query plan evaluator, communicatively coupled to a global resource object and a database management system node, the query plan evaluator for evaluating and selecting a query plan from the plurality of query plans at run time according to a measured system resource metric obtained from the global resource object means for predicting at least one resource requirement for the query; means for determining when the predicted resource requirement exceeds a threshold value; and means for generating a query plan when the predicted resource does not exceed the threshold value.
Claim 11
Independent Claim 132 words
An apparatus for executing a database query in a database management system, comprising: a query plan generator for generating a plurality of query plans, each query optimized with respect to at least one system resource metric of the database management system; and a query plan evaluator, communicatively coupled to a global resource object and a database management system node, the query plan evaluator for evaluating and selecting a query plan from the plurality of query plans at run time according to a measured system resource metric obtained from the global resource object means for predicting at least one resource requirement for the query; means for determining when the predicted resource requirement exceeds a threshold value; and means for generating a query plan when the predicted resource does not exceed the threshold value.
Claim 12
Independent Claim 138 words
An apparatus for executing a database query in a database management system, comprising: (a) means for generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) means for evaluating the plurality of query plans at run time using a measured value for the system resource metric; (c) means for selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) means for executing the selected query plan in the database management system means for predicting at least one resource requirement for the query; means for determining when the predicted resource requirement exceeds a threshold value; and means for generating a query plan when the predicted resource does not exceed the threshold value.
Claim 13
Independent Claim 138 words
An apparatus for executing a database query in a database management system, comprising: (a) means for generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) means for evaluating the plurality of query plans at run time using a measured value for the system resource metric; (c) means for selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) means for executing the selected query plan in the database management system means for predicting at least one resource requirement for the query; means for determining when the predicted resource requirement exceeds a threshold value; and means for generating a query plan when the predicted resource does not exceed the threshold value.
Claim 14
Dependent Claim 42 words
The apparatus of claim 10 , wherein the plurality of query plans is generated at a database management system compile time, and the plurality of query plans is evaluated and a query plan is selected at a database management system run time.
Claim 15
Dependent Claim 15 words
The apparatus of claim 11 , wherein the query invokes a predicate user-defined function (UDF).
Claim 16
Dependent Claim 47 words
The apparatus of claim 10 , further comprising: means for determining if the query invokes a resource critical operation; means for determining when the query involves a resource critical operation; and means for generating a query plan when the query does not invoke a resource critical operation.
Claim 17
Dependent Claim 45 words
The apparatus of claim 10 , further comprising: means for determining if the query invokes a substantially variant operation; means for determining when the query invokes a substantially variant operation; and generating a query plan when the query does not invoke a substantially variant operation.
Claim 18
Dependent Claim 41 words
The apparatus of claim 10 , wherein the means for evaluating the plurality of query plans using a measured value for the resource metric comprises means for obtaining the measured value for the system resource metric from a global resource object.
Claim 19
Dependent Claim 68 words
The apparatus of claim 10 , wherein the system resource metric is selected from the group comprising: an available processing capacity of a database management system node; an available non-volatile memory for a database management system node; an available volatile memory capacity of a database management system node; and an available communications throughput capacity from a first database management system node to a second database management system node.
Claim 20
Dependent Claim 100 words
The apparatus of claim 10 , wherein the database management system comprises a plurality of database management system nodes and wherein: the means for evaluating the plurality of query plans using a measured value for the system resource metric comprises a means for obtaining the measured value of the system resource metric for each of the database management system nodes; and the means for executing the query plan comprises a means for executing the selected query plan at a database management system node selected according to the measured value for the system resource metric at the database management system node.
Claim 21
Dependent Claim 230 words
A program storage device, readable by computer having a processor and a memory, tangibly embodying one or more programs of instructions executable by the computer to perform the method steps of executing a database query in a database management system, the method steps comprising the steps of: (a) generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) at run time, evaluating the plurality of query plans using a measured value for the system resource metric; (c) selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) executing the selected query plan in the database management system; predicting at least one resource requirement for the query; generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; at run time, evaluating the plurality of query plans using a measured value for the system resource metric; selecting a query plan from the evaluated plurality of query plans based on the measured value; executing the selected query plan in the database management system, and when the predicted resource requirement exceeds a threshold value, generating a query plan when the query resource requirement does not exceed the threshold value.
Claim 22
Dependent Claim 230 words
A program storage device, readable by computer having a processor and a memory, tangibly embodying one or more programs of instructions executable by the computer to perform the method steps of executing a database query in a database management system, the method steps comprising the steps of: (a) generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; (b) at run time, evaluating the plurality of query plans using a measured value for the system resource metric; (c) selecting a query plan from the evaluated plurality of query plans based on the measured value; and (d) executing the selected query plan in the database management system; predicting at least one resource requirement for the query; generating a plurality of query plans for the database query, each query plan optimized with respect to at least one system resource metric of the database management system; at run time, evaluating the plurality of query plans using a measured value for the system resource metric; selecting a query plan from the evaluated plurality of query plans based on the measured value; executing the selected query plan in the database management system, and when the predicted resource requirement exceeds a threshold value, generating a query plan when the query resource requirement does not exceed the threshold value.
Claim 23
Dependent Claim 53 words
The program storage device of claim 18 , wherein the method step of generating a plurality of query plans is performed at a database management system compile time, and the method steps of evaluating the plurality of query plans and selecting a query plan are performed at a database management system run time.
Claim 24
Dependent Claim 17 words
The program storage device of claim 18 , wherein the query invokes a predicate user-defined function (UDF).
Claim 25
Dependent Claim 53 words
The program storage device of claim 18 , wherein the method steps further comprise the method steps of: determining if the query invokes a resource critical operation; performing steps (a)-(c) when the query involves a resource critical operation; and generating a query plan when the query does not invoke a resource critical operation.
Claim 26
Dependent Claim 52 words
The program storage device of claim 18 , wherein the method steps further comprise the steps of: determining if the query invokes a substantially variant operation; performing steps (a)-(c) when the query invokes a substantially variant operation; and generating a query plan when the query does not invoke a substantially variant operation.
Claim 27
Dependent Claim 47 words
The program storage device of claim 18 , wherein the method step of evaluating the plurality of query plans using a measured value for the system resource metric comprises the method step of obtaining the measured value for the system resource metric from a global resource object.
Claim 28
Dependent Claim 70 words
The program storage device of claim 18 , wherein the system resource metric is selected from the group comprising: an available processing capacity of a database management system node; an available non-volatile memory for a database management system node; an available volatile memory capacity of a database management system node; and an available communications throughput capacity from a first database management system node to a second database management system node.
Claim 29
Dependent Claim 105 words
The program storage device of claim 18 , wherein the database management system comprises a plurality of database management system nodes and wherein: the method step of evaluating the plurality of query plans using a measured value for the resource metric comprises the method step of obtaining the measured value of the system resource metric for each of the database management system nodes; and the method step of executing the query plan comprises the method step of executing the selected query plan at a database management system node selected according to the measured value for the system resource metric at the database management system node.

References Cited (Backward Citations)

US6009265A Cited
US5619692A Cited
US5754841A Cited
US5864843A Cited
US5875334A Cited
US5913205A Cited
US5915250A Cited
US5893104A Cited
US5765147A Cited
US5822750A Cited
US6032143A Cited
US6026391A Cited
US6122644A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-03-04 2005-09-03 2006-03-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-03-04 2009-09-03 2010-03-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-03-04 2013-09-03 2014-03-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag