CONCATENATION

Description

Concatenates the rows returned by two or more rowsets. Used with OR expansions

Versions

This operation is implemented in the following versions

7.3.4
8.0.4
8.0.5
8.0.6
8.1.5
8.1.6
8.1.7
9.0.1
9.2.0
10.1.0
10.2.0

This operation has not yet been observed in Oracle 10.1 or Oracle 10.2

Examples

Example 1

Oracle 9.2

This example was developed using Oracle 9.2.0.1 on Windows 2000

This example requires the following table and index definitions

    CREATE TABLE t1 (c1 NUMBER,c2 NUMBER,c3 NUMBER);

The table does not need to be analysed

The statement

    SELECT /*+ USE_CONCAT */ c1
    FROM t1
    WHERE c2 = 0 OR c3 = 0;

generates the following execution plan

   0     SELECT STATEMENT Optimizer=CHOOSE
   1   0   CONCATENATION
   2   1     TABLE ACCESS (FULL) OF 'T1'
   3   1     TABLE ACCESS (FULL) OF 'T1'
Example 2

Oracle 10.2

This example was developed using Oracle 10.2.0.1 on Red Hat Linux

This example requires the following table and index definitions

    CREATE TABLE t1 (c1 NUMBER,c2 NUMBER,c3 NUMBER);

The table does not need to be analysed

The statement

    SELECT /*+ USE_CONCAT */ c1
    FROM t1
    WHERE c1 IN (10,20);

generates the following execution plan

   0     SELECT STATEMENT Optimizer=CHOOSE
   1   0   CONCATENATION
   2   1     INDEX (RANGE SCAN) OF 'I1'
   3   1     INDEX (RANGE SCAN) OF 'I1'