A bitmap is built for each of
the values in the indexed columns. Because computers are built on a concept of 1s
and 0s, this technique can greatly speed up data retrieval. In addition, join operations
such as AND become a simple addition operation across multiple bitmaps. A
side benefit is that bitmap indexes can provide considerable storage savings.
Figure 10-3 illustrates the use of a bitmap index in a compound WHERE clause. Bitmap
indexes can be used together for even faster performance. The bitmap indexes
are essentially stacked together, as a set of punch cards might be. Oracle simply
looks for those parts of the stack with all the bits turned on (indicating the presence
of the value), in the same way that you could try to stick a knitting needle through
the portions of the card stack that were punched out on all of the cards.
In Oracle, star-query performance is improved when bitmap indexes are created on
the foreign-keys columns of the fact table that link to the surrounding dimension
tables. A parallel bitmap star join occurs in which the bitmaps retrieve only the
necessary rows from the fact table and the rows are joined to the dimension tables.
Pages:
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509