RelationalDBDesign RelationalDBDesign

Oracle Indexes   «Prev 

Bitmap Indexes on Index-Organized Tables

A secondary index on an index-organized table can be a bitmap index. A bitmap index stores a bitmap for each index key. When bitmap indexes exist on an index-organized table, all the bitmap indexes use a heap-organized mapping table. The mapping table stores the logical rowids of the index-organized table. Each mapping table row stores one logical rowid for the corresponding index-organized table row. The database accesses a bitmap index using a search key. If the database finds the key, then the bitmap entry is converted to a physical rowid. With heap-organized tables, the database uses the physical rowid to access the base table. With index-organized tables, the database uses the physical rowid to access the mapping table, which in turn yields a logical rowid that the database uses to access the index-organized table. Figure 5-3 illustrates index access for a query of the departments_iot table.

Figure 5-3: Bitmap Index on an index-organized table, which stores a bitmap for each index key

Bitmapped index

Values and Bitmap

  1. Index values: Each value contains a series of bits, each of which point to a particular row.
  2. Bit values: If a bit is set to 1, it means that the associated row contains that value.
  3. Row: The bit is associated with the ROWID of a row.