Indexes that actually get used
Composite column order, covering indexes, and the six query shapes that make the planner ignore the index you just added.
Modelling data so it stays correct, and understanding the engine well enough to know why the query is slow.
16 articles
Composite column order, covering indexes, and the six query shapes that make the planner ignore the index you just added.
A free, database-agnostic book on SQL indexing — the clearest explanation anywhere of why composite column order decides everything.
Listed inSchema MigrationsDatabaseson
The five-step pattern for renaming a column, backfilling a billion rows, and dropping the old one — without a maintenance window.
Listed inQuery PlansDatabaseson
The PostgreSQL manual on reading a query plan: node types, cost units, and what ANALYZE adds to the picture.
Listed inSQL FundamentalsDatabaseson
Joins, grouping, subqueries, and window functions — the four that replace most application loops.
Listed inLocking and MVCCDatabaseson
Row locks, deadlocks, optimistic concurrency, and why your long transaction blocked everything.
Listed inConnection PoolingDatabaseson
Why connections are expensive, pool sizing that is not a guess, and pool exhaustion under load.
Listed inRelational ModellingDatabaseson
Keys, relationships, normalisation, and knowing which normal form to stop at.
Listed inTransactions and IsolationDatabaseson
ACID, the isolation levels, and the anomalies each one still permits.
Listed inORMs and Query BuildersDatabaseson
What they save you, the N+1 they generate, and the point at which you write the SQL yourself.
Listed inQuery PlansDatabaseson
Reading EXPLAIN, spotting the sequential scan that matters, and fixing statistics rather than guessing.
Listed inSchema MigrationsDatabaseson
Expand-and-contract, backfilling safely, and shipping a column rename with zero downtime.
Listed inBackups and RecoveryDatabaseson
Point-in-time recovery, RPO and RTO, and the backup nobody tested until the outage.
Listed inNoSQL Data StoresDatabaseson
Document, key-value, wide-column, and graph stores — the access pattern each is shaped for.
Listed inReplication and ShardingDatabaseson
Read replicas, replication lag, shard keys, and the cross-shard query you should never need.