Joined table expression optimization by query transformation
First Claim
Patent Images
1. A method of optimizing a query in a relational database management system, comprising:
- (a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by simplifying joins within the joined table expressions;
(c) wherein the transforming step comprises transforming a join when a non-null predicate from a WHERE clause references a null-supplying side of the joined table expression.
3 Assignments
0 Petitions
Accused Products
Abstract
A query optimizer analyzes a query and triggers a sequence of transformations to achieve optimal performance for joined table expressions. The transformations include pushing down predicates for joined table expressions and pushing down non-null predicates to simplify join operators for joined table expressions.
67 Citations
15 Claims
-
1. A method of optimizing a query in a relational database management system, comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by simplifying joins within the joined table expressions;
(c) wherein the transforming step comprises transforming a join when a non-null predicate from a WHERE clause references a null-supplying side of the joined table expression.
-
-
2. A method of optimizing a query in a relational database management system, comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by simplifying joins within the joined table expressions;
(c) wherein the transforming step comprises transforming a join when an ON clause from a parent joined table expression references a null supplying side of a child joined table expression.
-
-
3. A method of optimizing a query in a relational database management system, comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by pushing down predicates within the query. - View Dependent Claims (4, 5)
-
-
6. An apparatus for optimizing a query in a relational database management system, comprising:
-
(a) a computer system having a data storage device coupled thereto for storing a database;
(b) means, performed by the computer system, for analyzing the query to determine whether it contains at least one joined table expression; and
(c) means, performed by the computer system, for transforming the joined table expressions by simplifying at least one join within the joined table expressions;
(d) wherein the means for transforming comprises means for transforming a join when a non-null predicate from a WHERE clause references a null-supplying side of the joined table expression.
-
-
7. An apparatus for optimizing a query in a relational database management system, comprising:
-
(a) a computer system having a data storage device coupled thereto for storing a database;
(b) means, performed by the computer system, for analyzing the query to determine whether it contains at least one joined table expression; and
(c) means, performed by the computer system, for transforming the joined table expressions by simplifying at least one join within the joined table expressions;
(d) wherein the means for transforming comprises transforming a join when an ON clause from a parent joined table expression references a null supplying side of a child joined table expression.
-
-
8. An apparatus for optimizing a query in a relational database management system, comprising:
-
(a) a computer system having a data storage device coupled thereto for storing a database;
(b) means, performed by the computer system, for analyzing the query to determine whether it contains at least one joined table expression; and
(c) means, performed by the computer system, for transforming the joined table expressions by pushing down predicates within the query. - View Dependent Claims (9, 10)
-
-
11. An article of manufacture embodying logic for performing a method of optimizing a query in a relational database management system, the method comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by simplifying joins within the joined table expressions;
(c) wherein the transforming step comprises transforming a join when a non-null predicate from a WHERE clause references a null-supplying side of the joined table expression.
-
-
12. An article of manufacture embodying logic for performing a method of optimizing a query in a relational database management system, the method comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by simplifying joins within the joined table expressions;
(c) wherein the transforming step comprises transforming a join when an ON clause from a parent joined table expression references a null supplying side of a child joined table expression.
-
-
13. An article of manufacture embodying logic for performing a method of optimizing a query in a relational database management system, the method comprising:
-
(a) analyzing the query to determine whether it contains at least one joined table expression; and
(b) transforming the joined table expressions by pushing down predicates within the query. - View Dependent Claims (14, 15)
-
Specification