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

Method for determining optimal database materializations using a query optimizer

Assignee: International Business Machines Corp
•
Filing: 1999-09-30
•
Granted: 2002-03-12
•
Expires: 2019-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for determining optimal database materializations utilizing a query optimizer in a database management system. The method takes one or more queries as inputs and using the query optimizer in the database management system generates a series of virtual materializations by materializing some subsets of the database. The virtual materializations are used to consider the relative performance benefits, i.e. cost-benefits, for the queries based on the various virtual materializations. If the query optimizer decides to use any of the materializations in its plan, then those materializations are recommended to the user, or created automatically for the user.

Inventors

  • 👤 Guy Maring Lohman
  • 👤 Gary Valentin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 03:33
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24539; G06F16/22; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 147 words
A method for determining optimal materializations for a query optimizer in a database management system, wherein the query optimizer generates one or more query execution plans in response to a query input from a user for accessing data in a database schema in the database management system, said method comprising the steps of: (a) generating a plurality of temporary materializations as candidates for the query execution plans associated with the query; (b) computing estimated statistics for selected performance parameters for each of said temporary materializations; (c) utilizing the query optimizer to optimize each of the query execution plans; (d) determining if any of said temporary materializations are being utilized in any of the query execution plans; (e) if any of said temporary materializations are being utilized in any of the query execution plans, recommending said temporary materializations to the user together with the associated query execution plans.
Claim 2
Independent Claim 147 words
A method for determining optimal materializations for a query optimizer in a database management system, wherein the query optimizer generates one or more query execution plans in response to a query input from a user for accessing data in a database schema in the database management system, said method comprising the steps of: (a) generating a plurality of temporary materializations as candidates for the query execution plans associated with the query; (b) computing estimated statistics for selected performance parameters for each of said temporary materializations; (c) utilizing the query optimizer to optimize each of the query execution plans; (d) determining if any of said temporary materializations are being utilized in any of the query execution plans; (e) if any of said temporary materializations are being utilized in any of the query execution plans, recommending said temporary materializations to the user together with the associated query execution plans.
Claim 3
Dependent Claim 27 words
The method as claimed in claim 1 , further including the step of deleting said temporary materializations not being utilized in any of the query execution plans.
Claim 4
Dependent Claim 21 words
The method as claimed in claim 1 , further including the step of converting said recommended temporary materializations into actual materializations.
Claim 5
Dependent Claim 38 words
The method as claimed in claim 1 , wherein said step of generating a plurality of temporary materializations for the query comprises generating a temporary materialization for an index which becomes a candidate for the query execution plans.
Claim 6
Dependent Claim 39 words
The method as claimed in claim 1 , wherein said step of generating a plurality of temporary materializations for the query comprises generating a temporary materialization for a join index which becomes a candidate for the query execution plans.
Claim 7
Dependent Claim 41 words
The method as claimed in claim 1 , wherein said step of generating a plurality of temporary materializations for the query comprises generating a temporary materialization for columns and orders of interest which becomes a candidate for the query execution plans.
Claim 8
Dependent Claim 180 words
A relational database management system for use with a computer system wherein queries are entered by a user for retrieving data from a database schema, the relational database management system including a query optimizer for optimizing query execution plans associated with the queries entered by the user, said relational database management system comprising: (a) means for processing queries; (b) means for generating a plurality of temporary materializations as candidates for the query execution plans associated with the query; (c) means for computing estimated statistics for selected performance parameters for each of said temporary materializations; (d) the query optimizer including means for optimizing each of the query execution plans and means for selecting query execution plans on the basis of selected performance parameters; (e) means for determining if any of said temporary materializations are being utilized in any of the query execution plans; (f) means for recommending said temporary materializations to the user together with the associated query execution plans selected by the query optimizer if any of said temporary materializations are being utilized in any of the query execution plans.
Claim 9
Dependent Claim 180 words
A relational database management system for use with a computer system wherein queries are entered by a user for retrieving data from a database schema, the relational database management system including a query optimizer for optimizing query execution plans associated with the queries entered by the user, said relational database management system comprising: (a) means for processing queries; (b) means for generating a plurality of temporary materializations as candidates for the query execution plans associated with the query; (c) means for computing estimated statistics for selected performance parameters for each of said temporary materializations; (d) the query optimizer including means for optimizing each of the query execution plans and means for selecting query execution plans on the basis of selected performance parameters; (e) means for determining if any of said temporary materializations are being utilized in any of the query execution plans; (f) means for recommending said temporary materializations to the user together with the associated query execution plans selected by the query optimizer if any of said temporary materializations are being utilized in any of the query execution plans.
Claim 10
Dependent Claim 28 words
The relational database management system as claimed in claim 7 , further including means for deleting temporary materializations not being utilized in any of the query execution plans.
Claim 11
Dependent Claim 22 words
The relational database management system as claimed in claim 8 , including means for converting said recommended temporary materializations into actual materializations.
Claim 12
Dependent Claim 158 words
A computer program product for use on a computer wherein queries are entered by a user for retrieving data from a relational database management system having a query optimizer for optimizing query execution plans associated with the queries entered by the user, said computer program product comprising: a recording medium; means recorded on said medium for instructing said computer to perform the steps of, (a) generating, a plurality of temporary materializations as candidates for the query execution plans associated with the query; (b) computing estimated statistics for selected performance parameters for each of said temporary materializations; (c) utilizing the query optimizer to optimize each of the query execution plans; (d) determining if any of said temporary materializations are being utilized in any of the query execution plans; (e) if any of said temporary materializations are being utilized in any of the query execution plans, recommending the temporary materializations to the user together with the associated query execution plans.
Claim 13
Dependent Claim 158 words
A computer program product for use on a computer wherein queries are entered by a user for retrieving data from a relational database management system having a query optimizer for optimizing query execution plans associated with the queries entered by the user, said computer program product comprising: a recording medium; means recorded on said medium for instructing said computer to perform the steps of, (a) generating, a plurality of temporary materializations as candidates for the query execution plans associated with the query; (b) computing estimated statistics for selected performance parameters for each of said temporary materializations; (c) utilizing the query optimizer to optimize each of the query execution plans; (d) determining if any of said temporary materializations are being utilized in any of the query execution plans; (e) if any of said temporary materializations are being utilized in any of the query execution plans, recommending the temporary materializations to the user together with the associated query execution plans.
Claim 14
Dependent Claim 46 words
Data storage media recorded with a computer program which, in combination with a general purpose computer configured for a database management system and equipped to read into memory and execute program data from the data storage media, constituting a method in accordance with claim 1 .

References Cited (Backward Citations)

EP0320266A2 Cited
US5276870A Cited
US5930785A Cited
US5864842A Cited
US5822747A Cited
US5822750A Cited
US5864840A Cited
US6199063B1 Cited
US6122644A Cited
US6240406B1 Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag