In some situations, there are a fairly large number of dimension tables or the data in
the fact table is sparse. For joining such tables, a parallel bitmap star join may be
selected by the optimizer.
In earlier releases of the Oracle database, DBAs had to set initialization parameters
(e.g., STAR_TRANSFORMATION) and gather statistics, enabling the optimizer to
recognize the best methods for solving such queries. Today, needed parameters are
preset upon installation and statistics are automatically gathered by the Oracle
database.
Bitmap Indexes and Parallelism
Bitmap indexes, described in Chapter 4, were first introduced in Oracle7 to speed up
the type of data retrieval and joins in data warehousing queries. Bitmap indexes in
Oracle are typically considered for columns in which the data has low cardinality.
Cardinality is the number of different values in an index divided by the number of
rows. There are various opinions about what low cardinality actually is. Some consider
cardinality as high as 10% to be low, but remember that if a table has a million
rows, that ???low??? cardinality would mean 100,000 different values in a column!
Query Optimization | 231
In a bitmap index, a value of 1 in the index indicates that a value is present in a particular
row and 0 indicates that the value is not present.
Pages:
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508