Parallel 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;
wherein, within the query, the operands to the particular operator include a left-hand source and a right-hand source;
generating a plurality of query plans for executing said query, wherein each of the query plans includes a plan portion for executing, in parallel, the operation associated with said particular operator;
generating cost estimates for the query plans in the set of one or more query plans; and
selecting from said plurality of query plans a particular query plan 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. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans. The database server selects from the query plans a particular query plan to execute based, at least in part, on the cost estimates.
67 Citations
10 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;
wherein, within the query, the operands to the particular operator include a left-hand source and a right-hand source;
generating a plurality of query plans for executing said query, wherein each of the query plans includes a plan portion for executing, in parallel, the operation associated with said particular operator;
generating cost estimates for the query plans in the set of one or more query plans; and
selecting from said plurality of query plans a particular query plan to execute based, at least in part, on the cost estimates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification