
An index is a performance-tuning method of allowing faster retrieval of records. An index creates an entry for each value that appears in the indexed columns. By default, Oracle creates B-tree indexes.
In a Bitmap index, a 2 dimensional array is created. The array represents the index value multiplied by number of rows. One column is allotted for every row in the table being indexed. When a row is retrieved, the bitmap is decompressed into the RAM data buffer to rapidly scan for matching values. Each matching value is returned as a ROW ID which can be used to access the desired information.
B-tree indexes are usually created on columns containing the most unique values. It is an ordered set of entries in which each entry is a search key value and and a pointer to a specifc row with that value. When a server finds a search key value matching a constraint, the pointer is used to fetch the row.
A. Performance Considerations for Bitmap Indexes
Bitmap indexes can substantially improve performance of queries that have all of the following characteristics: