Multi-tiered query processing techniques for minus and intersect operators
First Claim
1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of:
- A) sending said instructions over transmission media;
B) receiving said instructions over transmission media;
C) storing said instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving a query that includes a particular operator, wherein the particular operator is one of MINUS and INTERSECT;
generating a set of one or more transformed queries that produce the same result as said query but do not include said particular operator;
generating cost estimates for the transformed queries in said set of transformed queries; and
selecting from said set of transformed queries a particular transformed query to execute based, at least in part, on the cost estimates.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.
111 Citations
14 Claims
-
1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of:
-
A) sending said instructions over transmission media;
B) receiving said instructions over transmission media;
C) storing said instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
receiving a query that includes a particular operator, wherein the particular operator is one of MINUS and INTERSECT;
generating a set of one or more transformed queries that produce the same result as said query but do not include said particular operator;
generating cost estimates for the transformed queries in said set of transformed queries; and
selecting from said set of transformed queries a particular transformed query to execute based, at least in part, on the cost estimates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
Specification