Multi-tier query processing
First Claim
1. A method of processing a query comprising the machine-implemented steps of:
- determining a first cost based on the query;
if the query has a subquery, performing the steps of;
performing a first unnesting operation on the subquery;
generating a second query based on the query and the first unnesting operation;
determining a second cost based on the second query;
determining whether the second query comprises a mergeable view;
if the second query comprises a mergeable view, performing the steps of;
performing a first view merge transformation on the second query;
generating a third query based on the second query and the first view merge transformation;
determining a third cost based on the third query; and
choosing an output query from among a set of semantically equivalent queries based on costs associated with one or more queries from the set of semantically equivalent queries, wherein the set of semantically equivalent queries includes at least two of the query, the second query, and the third query.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for processing a query including determining a first cost based on the original query; if the query has a subquery, generating a second query with the subquery unnested; determining a second cost based on the second query; determining whether the second query includes a mergeable view; and if the second query includes a mergeable view, then generating a third query with the view merged; determining a third cost based on the third query; and choosing an output query from among the set of semantically equivalent queries based on costs associated with the semantically equivalent queries, where the set of semantically equivalent queries includes two or more of the original query, the second query, and the third query.
-
Citations
26 Claims
-
1. A method of processing a query comprising the machine-implemented steps of:
-
determining a first cost based on the query;
if the query has a subquery, performing the steps of;
performing a first unnesting operation on the subquery;
generating a second query based on the query and the first unnesting operation;
determining a second cost based on the second query;
determining whether the second query comprises a mergeable view;
if the second query comprises a mergeable view, performing the steps of;
performing a first view merge transformation on the second query;
generating a third query based on the second query and the first view merge transformation;
determining a third cost based on the third query; and
choosing an output query from among a set of semantically equivalent queries based on costs associated with one or more queries from the set of semantically equivalent queries, wherein the set of semantically equivalent queries includes at least two of the query, the second query, and the third query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification