docs/src/format/table/index/scalar/bitmap.md
Bitmap indices use bit arrays to represent the presence or absence of values, providing extremely fast query performance for low-cardinality columns.
%%% proto.message.BitmapIndexDetails %%%
The bitmap index consists of a single file bitmap_page_lookup.lance that stores the mapping from values to their bitmaps.
| Column | Type | Nullable | Description |
|---|---|---|---|
keys | {DataType} | true | The unique value from the indexed column |
bitmaps | Binary | true | Serialized RowAddrTreeMap containing row addrs where this value appears |
| Query Type | Description | Operation |
|---|---|---|
| Equals | column = value | Returns the bitmap for the specific value |
| Range | column BETWEEN a AND b | Unions all bitmaps for values in the range |
| IsIn | column IN (v1, v2, ...) | Unions bitmaps for all specified values |
| IsNull | column IS NULL | Returns the pre-computed null bitmap |