Last Updated: May 3, 2026
Normalization eliminates redundancy by splitting data across multiple tables. The trade-off is joins. A query that was a single table scan in a flat table becomes a five-table JOIN in a normalized schema. For write-heavy transactional systems, that trade-off is almost always worth it.
But for read-heavy workloads where the same expensive join runs thousands of times per second, the join cost can become the bottleneck. Denormalization is the deliberate reintroduction of redundancy to reduce that cost.