Selects rows from a table based on the result of applying an OR on two bitmap indexes
This operation is implemented in the following versions
|
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); CREATE BITMAP INDEX i1 ON t1 (c1); CREATE BITMAP INDEX i2 ON t1 (c2);
The table does not need to be analysed
The statement
SELECT /*+ INDEX_COMBINE (t1 i1 i2) */ c1,c2 FROM t1 WHERE c1 = 0 OR c2 = 0;
generates the following execution plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'T1' 2 1 BITMAP CONVERSION (TO ROWIDS) 3 2 BITMAP OR 4 3 BITMAP INDEX (SINGLE VALUE) OF 'I1' 5 3 BITMAP INDEX (SINGLE VALUE) OF 'I2'