---
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

Read the full analysis

Other questions this article answers

More system design 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 beat.