System and method for selection of materialized views
First Claim
Patent Images
1. A method for selecting one or more materialized views based on a plurality of user-supplied queries, comprising the steps of:
- classifying each of the plurality of user-supplied queries in terms of a full join graph and an anchor join graph wherein the anchor join graph is a smallest sub-graph of the full join graph and wherein any joins between the tables in the sub-graph and those outside the sub-graph are lossless;
selecting a set for materialized views for each set of user-supplied queries of the plurality of user-supplied queries classified to a same full join graph;
selecting the one or more materialized views based on the set of selected materialized views for each set of user-supplied queries classified to a same anchor join graph; and
outputting said selected materialized views.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for selecting and recommending materialized views is described, in which a set of workload queries is classified in terms of a number of structural features that includes the structure of the join operations in the query (“full query join graph”), the structure of a specific subset of the join operations (“anchor join graph”), and other characteristics such as the measures, selection predicates, and grouping conditions employed in the query. These features are used to implement a two-level partitioned search for the recommended materialized views.
57 Citations
14 Claims
-
1. A method for selecting one or more materialized views based on a plurality of user-supplied queries, comprising the steps of:
-
classifying each of the plurality of user-supplied queries in terms of a full join graph and an anchor join graph wherein the anchor join graph is a smallest sub-graph of the full join graph and wherein any joins between the tables in the sub-graph and those outside the sub-graph are lossless; selecting a set for materialized views for each set of user-supplied queries of the plurality of user-supplied queries classified to a same full join graph; selecting the one or more materialized views based on the set of selected materialized views for each set of user-supplied queries classified to a same anchor join graph; and outputting said selected materialized views. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for selecting one or more materialized views based on a plurality of user-supplied queries, comprising the steps of:
-
filtering each of the plurality of user-supplied queries in the plurality of user-supplied queries to identify user-supplied queries that are written by a data kernel; classifying a user-supplied query that remains in terms of one or more structural features; selecting the one or more materialized views based on the classified structural features, wherein the user-supplied query is classified in terms of a full join graph and an anchor join graph wherein the anchor join graph is a smallest sub-graph of the full join graph and wherein any joins between the tables in the sub-graph and those outside the sub-graph are lossless; and outputting said selected one or more materialized views. - View Dependent Claims (9, 10, 11)
-
-
12. A method for selecting one or more materialized views based on a plurality of user-supplied queries, comprising the steps of:
-
classifying each of the user-supplied queries in terms of at least a first anchor join graph and a second anchor join graph wherein an anchor join graph is a smallest sub-graph of a full join graph and wherein any joins between the tables in the sub-graph and those outside the sub-graph are lossless; selecting materialized views for the user-supplied queries classified in terms of the first anchor join graph; selecting materialized views for the user-supplied queries classified in terms of the second anchor join graph; and outputting said selected materialized views. - View Dependent Claims (13)
-
-
14. A system for selecting one or more materialized views based on a plurality of user-supplied queries, comprising:
-
a processor operable to execute computer program instructions; and a memory operable to store computer program instructions executable by the processor, for performing the steps of; classifying each of the user-supplied queries in terms of a full join graph and an anchor join graph wherein the anchor join graph is a smallest sub-graph of the full join graph and wherein any joins between the tables in the sub-graph and those outside the sub-graph are lossless, wherein each of the queries is classified in terms of one or more structural features including the full join graph and the anchor join graph; selecting the one or more materialized views based on said classifying; and outputting said selected one or more materialized views.
-
Specification