Generating Materialized Query Table Candidates
First Claim
1. A method for generating a set of one or more materialized query table (MQT) candidates for a workload, wherein the method comprises:
- receiving a workload, wherein the workload comprises a set of one or more queries;
generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write;
determining one or more frequently used multi-joins in the workload;
using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs); and
grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for generating a set of one or more materialized query table (MQT) candidates for a workload are provided. The techniques include receiving a workload, wherein the workload comprises a set of one or more queries, generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write, determining one or more frequently used multi-joins in the workload, using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs), and grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload.
-
Citations
25 Claims
-
1. A method for generating a set of one or more materialized query table (MQT) candidates for a workload, wherein the method comprises:
-
receiving a workload, wherein the workload comprises a set of one or more queries; generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write; determining one or more frequently used multi-joins in the workload; using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs); and grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising a tangible computer readable recordable storage medium including computer useable program code for generating a set of one or more materialized query table (MQT) candidates for a workload, the computer program product including:
-
computer useable program code for receiving a workload, wherein the workload comprises a set of one or more queries; computer useable program code for generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write; computer useable program code for determining one or more frequently used multi-joins in the workload; computer useable program code for using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs); and computer useable program code for grouping one or more, WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload. - View Dependent Claims (20, 21)
-
-
22. A system for generating a set of one or more materialized query table (MQT) candidates for a workload, comprising:
-
a memory; and at least one processor coupled to the memory and operative to; receive a workload, wherein the workload comprises a set of one or more queries; generate one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write; determine one or more frequently used multi-joins in the workload; use the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs); and group one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload. - View Dependent Claims (23, 24)
-
-
25. An apparatus for generating a set of one or more materialized query table (MQT) candidates for a workload, the apparatus comprising:
-
means for receiving a workload, wherein the workload comprises a set of one or more queries; means for generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write; means for determining one or more frequently used multi-joins in the workload; means for using the one or more BMQTs and the one or more frequently used multi joins to generate a set of one or more workload MQTs (WMQTs); and means for grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload.
-
Specification