Canonical abstraction for outerjoin optimization
First Claim
1. A method of optimizing outerjoin queries performed on a database, said method comprising:
- rewriting an outerjoin query in a canonical abstraction representation; and
optimizing the rewritten outerjoin query representation with a join optimizer.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, apparatus, and program storage device implementing a method of optimizing queries used for searching a computerized database, wherein the method comprises providing a query comprising a sequence of inner joins and outerjoins; and rewriting the query by producing a sequence of outer Cartesian products for the query; producing a sequence of nullification operations on the query; and producing a sequence of best match operations on the query. The method further comprises optimizing the query using a query execution plan for processing the rewritten query, wherein the query execution plan expands a search space in the database for which the rewritten query may be run.
135 Citations
24 Claims
-
1. A method of optimizing outerjoin queries performed on a database, said method comprising:
-
rewriting an outerjoin query in a canonical abstraction representation; and
optimizing the rewritten outerjoin query representation with a join optimizer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of optimizing queries used for searching a computerized database, said method comprising:
-
providing a query comprising a sequence of inner joins and outerjoins;
rewriting said query by;
producing a sequence of outer Cartesian products for said query;
producing a sequence of nullification operations on said query; and
producing a sequence of best match operations on said query; and
optimizing said query using a query execution plan for processing the rewritten query. - View Dependent Claims (11)
-
-
12. A program storage device readable by computer, tangibly embodying a program of instructions executable by said computer to perform a method of a method of optimizing outerjoin queries performed on a database, said method comprising:
-
rewriting an outerjoin query in a canonical abstraction representation; and
optimizing the rewritten outerjoin query representation with a join optimizer. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented apparatus for optimizing outerjoin queries, said apparatus comprising:
-
a computer system, wherein said query optimization is performed by said computer system to optimize queries performed on a database stored on said computer system; and
computer logic, performed by said computer system, said computer logic comprising;
a first protocol adapted to rewrite an outerjoin query in a canonical abstraction representation; and
a second protocol adapted to optimize the rewritten outerjoin query representation with a join optimizer. - View Dependent Claims (22, 23)
-
-
24. A system for optimizing queries used for searching a computerized database, said system comprising:
-
means for providing a query comprising a sequence of inner joins and outerjoins;
means for producing a sequence of outer Cartesian products for said query;
means for producing a sequence of nullification operations on said query;
means for producing a sequence of best match operations on said query; and
means for optimizing said query using a query execution plan for processing said query.
-
Specification