What Is a Bitmap Index:
Oracle gives five indexing schemes that are: B*-tree indexes (currently the most common), B*-tree cluster indexes, reverse key indexes, hash cluster indexes and bitmap indexes. This indexing scheme provides complementary performance functionality.
The main purpose of an index is to provide pointers to the rows in a table which contain a given key value.
In a regular index, that is achieved through storing a list of rowids for each key corresponding to the rows with in which key value. (The Oracle Server stores each key value repeatedly with each stored rowid.)
In a bitmap index, a bitmap for each key value is used instead of a list of rowids. Every bit in the bitmap corresponds to a possible rowid, and if the bit is set, it means in which the row with the corresponding rowid contains the key value.
A mapping function converts the bit position to an real rowid, so the bitmap index gives the similar functionality as a regular index even by it uses a different representation internally. If the number of variant key values is small a bitmap indexes are very space efficient.
The Bitmap indexing capably merges indexes which correspond to various conditions in a WHERE clause. The Rows that satisfy some but not all conditions are filtered out before the table itself is accessed. As a conclusion, response time is improved, frequently dramatically.