Executes child operations for each value in INLIST
This operation was introduced in Oracle 8.1.5 and replaced the INLIST ITERATOR (CONCATENATED) operation
This operation is implemented in the following versions
|
Oracle 9.2
In this example, the table must have an index on the column(s) in the predicate. The table also needs to be analysed
This example was developed using Oracle 9.2.0.1 on Windows 2000
This example requires the following table definition
CREATE TABLE t1 (c1 NUMBER); CREATE INDEX I1 ON t1 (c1); ANALYZE TABLE t1 COMPUTE STATISTICS;
The table does not need to be analysed
The statement
SELECT c1 FROM t1 WHERE c1 IN (10,20,30,40);
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 INLIST ITERATOR 2 1 INDEX (RANGE SCAN) OF 'I1'
Oracle 9.2
In this example, the table must have an index on the column(s) in the predicate. The table does not need to be analysed
This example was developed using Oracle 9.2.0.1 on Windows 2000
This example requires the following table definition
CREATE TABLE t1 (c1 NUMBER); CREATE INDEX I1 ON t1 (c1);
The table does not need to be analysed
The statement
SELECT /*+ NO_EXPAND */ c1 FROM t1 WHERE c1 IN (10,20,30,40);
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 INLIST ITERATOR 2 1 INDEX (RANGE SCAN) OF 'I1'
Oracle 10.2
In Oracle 10.2 the table does not need to be analysed
This example was developed using Oracle 10.2.0.1 on Red Hat Linux
This example requires the following table definition
CREATE TABLE t1 (c1 NUMBER); CREATE INDEX I1 ON t1 (c1);
The table does not need to be analysed
The statement
SELECT c1 FROM t1 WHERE c1 IN (10,20,30,40);
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 INLIST ITERATOR 2 1 INDEX (RANGE SCAN) OF 'I1'