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
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 |