Cards/DatabasesSystem Design · Day 18Aug 18, 2026

The Index You Added Made Writes Slower

The Index You Added Made Writes Slower — system design card, day 18, databases

Reads were slow. You added an index. Reads got fast. Then the nightly job started timing out.

An index isn't free storage — it's a second copy of your data, kept sorted. Every insert now writes twice: once to the table, once to the tree. Five indexes means six writes for one row.

And a B-tree resists change. Inserting into a full page splits it, which can split its parent, which can split its parent. One row, several pages rewritten.

Which is why:

TableIndexing guidance
Read-heavyIndex generously
Write-heavyEvery index has rent
Unused indexPure cost, zero benefit

Most databases will tell you which indexes are never used. Almost nobody asks.

Every optimisation is a loan. Somebody, somewhere in the system, is making the payments.