Join predicate push-down optimizations
First Claim
Patent Images
1. A computer-implemented method, comprising:
- generating a transformed query based on a particular query, wherein said particular query includes;
an outer query;
a view within a FROM list of the outer query;
a join predicate that references;
a column of an outer table of the outer query, anda column returned by the view;
wherein said view includes;
a GROUP BY operator that references a certain column upon which the column returned by the view is based, ora DISTINCT operator that references a certain column upon which the column returned by view is based; and
wherein generating the transformed query includes pushing down the join predicate to create a pushed down join predicate that references the column of the outer table and a certain column returned by the view is based.
1 Assignment
0 Petitions
Accused Products
Abstract
Join predicate push down transformations push down a join predicate of an outer query into a view. Among the types of views for which join predicate push down is performed are a view with a GROUP BY or DISTINCT operator, an anti-joined or semi-joined view, and a view that contains one or more nested views. During optimization, join predicate push down may be used to generate many transformed queries for comparison. The number of query transformations performed for comparison is managed.
-
Citations
26 Claims
-
1. A computer-implemented method, comprising:
-
generating a transformed query based on a particular query, wherein said particular query includes; an outer query; a view within a FROM list of the outer query; a join predicate that references; a column of an outer table of the outer query, and a column returned by the view; wherein said view includes; a GROUP BY operator that references a certain column upon which the column returned by the view is based, or a DISTINCT operator that references a certain column upon which the column returned by view is based; and wherein generating the transformed query includes pushing down the join predicate to create a pushed down join predicate that references the column of the outer table and a certain column returned by the view is based. - View Dependent Claims (2, 3, 14, 15, 16)
-
-
4. A computer-implemented method, comprising:
-
generating a transformed query based on a particular query, wherein said particular query includes; an outer query; a view within a FROM list of the outer query; a join predicate that references; a column of an outer table of the outer query, and a column returned by the view; wherein generating the transformed query includes pushing down the join predicate to create a pushed down join predicate that references the column of the outer table and a certain column returned by the view; generating an estimated query execution cost for each of a set of candidate queries that includes said particular query and said transformed query; and selecting as an optimized query for said particular query a candidate query of said candidate queries. - View Dependent Claims (17)
-
-
5. A computer-implemented method, comprising:
-
generating a transformed query based on a particular query, wherein said particular query includes; an outer query; a view within a FROM list of the outer query; a certain predicate for an anti-join, said certain predicate referencing; a column of an outer table of the outer query, and a column returned by the view; wherein generating the transformed query includes pushing down the certain predicate to create a pushed down join predicate that references the column of the outer table and a certain column returned by the view; generating an estimated query execution cost for each of a set of candidate queries that includes said particular query and said transformed query; and selecting as an optimized query for said particular query a candidate query of said candidate queries. - View Dependent Claims (18)
-
-
6. A computer-implemented method, comprising:
-
generating a transformed query based on a particular query, wherein said particular query includes; an outer query; a view within a FROM list of the outer query; a certain predicate for a semi-join that references; a column of an outer table of the outer query, and a column returned by the view; wherein generating the transformed query includes pushing down the certain predicate to create a pushed down join predicate that references the column of the outer table and a certain column returned by the view; generating an estimated query execution cost for each of a set of candidate queries that includes said particular query and said transformed query; and selecting as an optimized query for said particular query a candidate query of said candidate queries. - View Dependent Claims (19)
-
-
7. A computer-implemented method, comprising:
-
a database system generating a search space for optimizing a particular query, wherein said particular query includes; an outer query; a plurality of views in a FROM list of the outer query; for each view of said plurality of views, a certain join predicate of the outer query that references; a column of an outer table of the outer query, and a column returned by said each view; wherein the step of generating a search space includes generating a search space that includes one or more query transformations that each involve pushing down the respective certain join predicate into at least one view of said plurality of views, said search space including said particular query; and selecting an optimized query from among the search space based on query execution costs estimated for the queries in said search space. - View Dependent Claims (8, 9, 10, 11, 20, 21, 22, 23, 24)
-
-
12. A computer-implemented method, comprising:
-
generating a search space for a particular query, wherein said particular query includes; an outer query; a first view within the FROM list of the outer query; a first join predicate of the outer query that references; a column of an outer table of the outer query, and a column returned by said first view; a second view within the FROM list of the first view; a second join predicate of the second view that references a column returned by said first view; generating a search space that includes one or more query transformations that each involve pushing down a join predicate of the outer query to the second view; and selecting an optimized query from among the search space. - View Dependent Claims (25)
-
-
13. A computer-implemented method, comprising:
-
generating a transformed query by creating a view in the transformed query; wherein said transformed query includes; an outer query with a FROM list that includes said view; and a join predicate of the outer query that references; a column of an outer table of the outer query, and a column returned by said view; generating a second transformed query by performing steps that include pushing down the join predicate into the view to create a pushed down join predicate that references the column of the outer table and a certain column upon which the column returned by the view is based. selecting an optimized query from among the search space. - View Dependent Claims (26)
-
Specification