INLIST ITERATOR

Description

Executes child operations for each value in INLIST

Versions

This operation was introduced in Oracle 8.1.5 and replaced the INLIST ITERATOR (CONCATENATED) operation

This operation is implemented in the following versions

8.1.5
8.1.6
8.1.7
9.0.1
9.2.0
10.1.0
10.2.0

Example

Example 1

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'
Example 2

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'

Example 3

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'