Temporary bitmap

 

The temporary bitmap is a temporary object that allows the optimizer to sequence rows based upon their row address (their row number). The bitmap can be either scanned or probed by the optimizer to satisfy different operations of the query.

A temporary bitmap is a data structure that uses a bitmap to represent all of the row numbers for a table. Since each row is represented by a separate bit, all of the rows within a table can be represented in a fairly condensed form. When a row is selected by the temporary, the bit within the bitmap that corresponds to the selected row is set on. After the temporary bitmap is populated, all of the selected rows can be retrieved in a sorted manner for quick and efficient retrieval. The temporary only represents the row number for the associated selected rows. No table data is present within the temporary, so a table probe operation is typically associated with this temporary in order to retrieve the underlying table data. Because the bitmap is by definition sorted, the random I/O associated with the table probe operation can be performed more efficiently. The database manager will perform pre-fetch or look ahead logic to determine if multiple rows are located on adjacent pages. If so, the table probe will request a larger I/O to bring the rows into main memory more efficiently.

A temporary bitmap is an internal data structure and can only be created by the database manager.

Visual explain icon:

Temporary bitmap icon

 

Parent topic:

Temporary objects and access methods