Method for determining optimal database materializations using a query optimizer
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
150 Citations
11 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 11)
-
-
7. 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. - View Dependent Claims (8, 9)
-
-
10. 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.
-
Specification