Table 19-3 OPERATION and OPTIONS Values Produced by EXPLAIN PLANnode
Operation | Option | Description |
---|---|---|
|
|
Operation accepting multiple sets of rowids, returning the intersection of the sets, eliminating duplicates. Used for the single-column indexes access path.dom |
|
|
|
|
|
|
|
|
Merges several bitmaps resulting from a range scan into one bitmap. |
|
|
Subtracts bits of one bitmap from another. Row source is used for negated predicates. Can be used only if there are nonnegated predicates yielding a bitmap from which the subtraction can take place. An example appears in "Viewing Bitmap Indexes with EXPLAIN PLAN". |
|
|
Computes the bitwise |
|
|
Computes the bitwise |
|
|
Takes each row from a table row source and finds the corresponding bitmap from a bitmap index. This set of bitmaps are then merged into one bitmap in a following |
|
|
Retrieves rows in hierarchical order for a query containing a |
|
|
Operation accepting multiple sets of rows returning the union-all of the sets. |
|
. |
Operation counting the number of rows selected from a table. |
|
|
Count operation where the number of rows returned is limited by the |
|
|
Retrieval of one or more rowids from a domain index. The options column contain information supplied by a user-defined domain index cost function, if any. |
|
|
Operation accepting a set of rows, eliminates some of them, and returns the rest. |
|
|
Retrieval of only the first row selected by a query. |
|
|
Operation retrieving and locking the rows selected by a query containing a |
|
|
Operation hashing a set of rows into groups for a query with a |
(These are join operations.) |
|
Operation joining two sets of rows and returning the result. This join method is useful for joining large data sets of data (DSS, Batch). The join condition is an efficient way of accessing the second table. Query optimizer uses the smaller of the two tables/data sources to build a hash table on the join key in memory. Then it scans the larger table, probing the hash table to find the joined rows. |
|
|
Hash (left) antijoin |
|
|
Hash (left) semijoin |
|
|
Hash right antijoin |
|
|
Hash right semijoin |
|
|
Hash (left) outer join |
|
|
Hash right outer join |
(These are access methods.) |
|
Retrieval of a single rowid from an index. |
|
|
Retrieval of one or more rowids from an index. Indexed values are scanned in ascending order. |
|
|
Retrieval of one or more rowids from an index. Indexed values are scanned in descending order. |
|
|
Retrieval of all rowids from an index when there is no start or stop key. Indexed values are scanned in ascending order. |
|
|
Retrieval of all rowids from an index when there is no start or stop key. Indexed values are scanned in descending order. |
|
|
Retrieval of all rowids (and column values) using multiblock reads. No sorting order can be defined. Compares to a full table scan on only the indexed columns. Only available with the cost based optimizer. |
|
|
Retrieval of rowids from a concatenated index without using the leading column(s) in the index. Introduced in Oracle9i. Only available with the cost based optimizer. |
|
|
Iterates over the next operation in the plan for each value in the |
|
|
Operation accepting two sets of rows and returning the intersection of the sets, eliminating duplicates. |
(These are join operations.) |
|
Operation accepting two sets of rows, each sorted by a specific value, combining each row from one set with the matching rows from the other, and returning the result. |
|
|
Merge join operation to perform an outer join statement. |
|
|
Merge antijoin. |
|
|
Merge semijoin. |
|
|
Can result from 1 or more of the tables not having any join conditions to any other tables in the statement. Can occur even with a join and it may not be flagged as |
|
|
Retrieval of rows in hierarchical order for a query containing a |
(These are access methods.) |
|
Retrieval of all rows from a materialized view. |
|
|
Retrieval of sampled rows from a materialized view. |
|
|
Retrieval of rows from a materialized view based on a value of an indexed cluster key. |
|
|
Retrieval of rows from materialized view based on hash cluster key value. |
|
|
Retrieval of rows from a materialized view based on a rowid range. |
|
|
Retrieval of sampled rows from a materialized view based on a rowid range. |
MAT_VIEW REWITE ACCESS |
|
If the materialized view rows are located using user-supplied rowids. |
|
|
If the materialized view is nonpartitioned and rows are located using index(es). |
|
|
If the materialized view is partitioned and rows are located using only global indexes. |
|
|
If the materialized view is partitioned and rows are located using one or more local indexes and possibly some global indexes. Partition Boundaries: The partition boundaries might have been computed by: A previous The |
|
|
Operation accepting two sets of rows and returning rows appearing in the first set but not in the second, eliminating duplicates. |
(These are join operations.) |
|
Operation accepting two sets of rows, an outer set and an inner set. Oracle compares each row of the outer set with each row of the inner set, returning rows that satisfy a condition. This join method is useful for joining small subsets of data (OLTP). The join condition is an efficient way of accessing the second table. |
|
|
Nested loops operation to perform an outer join statement. |
|
. |
Iterates over the next operation in the plan for each partition in the range given by the |
|
|
Access one partition. |
|
|
Access many partitions (a subset). |
|
|
Access all partitions. |
|
|
Similar to iterator, but based on an |
|
|
Indicates that the partition set to be accessed is empty. |
|
|
Implements the division of an object into block or chunk ranges among a set of parallel slaves |
|
. |
Implements the Query Coordinator which controls, schedules, and executes the parallel plan below it using parallel query slaves. It also represents a serialization point, as the end of the part of the plan executed in parallel and always has a |
|
. |
Same semantics as the regular |
|
. |
Shows the consumer/receiver slave node reading repartitioned data from a send/producer (QC or slave) executing on a PX SEND node. This information was formerly displayed into the |
|
|
Implements the distribution method taking place between two parallel set of slaves. Shows the boundary between two slave sets and how data is repartitioned on the send/producer side (QC or side. This information was formerly displayed into the |
|
|
Retrieval of data from a remote database. |
|
|
Operation involving accessing values of a sequence. |
|
|
Retrieval of a single row that is the result of applying a group function to a group of selected rows. |
|
|
Operation sorting a set of rows to eliminate duplicates. |
|
|
Operation sorting a set of rows into groups for a query with a |
|
|
Operation sorting a set of rows before a merge-join. |
|
|
Operation sorting a set of rows for a query with an |
(These are access methods.) |
|
Retrieval of all rows from a table. |
|
|
Retrieval of sampled rows from a table. |
|
|
Retrieval of rows from a table based on a value of an indexed cluster key. |
|
|
Retrieval of rows from table based on hash cluster key value. |
|
|
Retrieval of rows from a table based on a rowid range. |
|
|
Retrieval of sampled rows from a table based on a rowid range. |
|
|
If the table rows are located using user-supplied rowids. |
|
|
If the table is nonpartitioned and rows are located using index(es). |
|
|
If the table is partitioned and rows are located using only global indexes. |
|
|
If the table is partitioned and rows are located using one or more local indexes and possibly some global indexes. Partition Boundaries: The partition boundaries might have been computed by: A previous The |
|
|
Operation accepting two sets of rows and returns the union of the sets, eliminating duplicates. |
|
|
Operation performing a view's query and then returning the resulting rows to another operation. |