---
answer: direct
beat: system-design
source: 1 article · updated: September 1, 2026
---

What makes a bitmap index different from a B-tree, and when is it better?

A bitmap index stores one bit per row per distinct value — a row's bit is 1 if it has that value, 0 otherwise. This is extremely space-efficient and fast to combine with AND/OR operations across multiple bitmap indexes, but only when the column has few distinct values (like a status flag or a boolean). On a high-cardinality column like a user ID, a bitmap index would need one bitmap per unique value, which stops making sense.

Answered in

What Actually Happens Inside a Database Index: The Data Structures

An index trades disk I/O for lookup speed. Here's how B-trees, hash tables, and bitmap indexes each make that trade differently.

Crashtech Editorial September 1, 2026 System Design & Architecture

Read the full analysis

Other questions this article answers

More system design & architecture questions

Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design & Architecture beat.