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

Why does reading a single column in a row store require reading the whole table?

Row storage interleaves columns: each row stores name, age, country sequentially. To average ages, the database must scan every record linearly, fetching names and countries along the way, even though only ages are needed. Columnar storage stores all ages contiguously, so a query seeking only ages can skip unrelated columns entirely.

Answered in

Columnar Storage: Why Column Stores Beat Row Stores for Analytics

Columnar storage reads only needed columns, skipping the rest. Dictionary encoding shrinks data 50–100×. Analytics queries go from minutes to milliseconds.

Crashtech Editorial August 13, 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.