Why B+ trees, not binary trees?
A balanced binary search tree with leaves has height . For 1 billion rows that's 30 levels — 30 disk reads per lookup. A B+ tree with fanout (keys per internal node) has height . With (realistic for 8 KB pages and 40-byte keys), the same 1 billion rows need only levels.
High fanout is everything. One root page fits in RAM permanently. The second level (200 pages) likely stays warm in the buffer pool. For most lookups, only 1–2 disk reads actually touch storage. This is exactly why B+ trees dominate: the fan-out is tuned to the page size, not to pointer widths.
