connecting a plurality of scan oracle

If you compare the optimizer for a column and a limited set of values ​​possible to perform multiple scans and the results are merged connection.

For example:

    SELECT *

    FROM LODGING

    WHERE MANAGER IN (‘BILL GATES’,’KEN MULLER’);

    Optimization may be converted into the form of

    SELECT *

    FROM LODGING

    WHERE MANAGER = ‘BILL GATES’

    OR MANAGER = ’KEN MULLER’;

    When the selected execution path, the optimizer may use the scan index range LODGING $ MANAGER for each condition. ROWID returned to LODGING access record table (TABLE ACCESS BY ROWID by the way). The last two sets of records to be connected ( Concatenation) form are combined into a single set.

Explain Plan :

SELECT STATEMENT Optimizer=CHOOSE

   CONCATENATION

      TABLE ACCESS (BY INDEX ROWID) OF LODGING

         INDEX (RANGE SCAN ) OF LODGING$MANAGER (NON-UNIQUE)

     TABLE ACCESS (BY INDEX ROWID) OF LODGING

         INDEX (RANGE SCAN ) OF LODGING$MANAGER (NON-UNIQUE)

Guess you like

Origin www.cnblogs.com/fanweisheng/p/11125576.html