
Document or Relational: Read-Time or Write-Time Cost
Relational modeling describes the entities and lets queries follow. Document modeling inverts that, and the inversion is the whole trade.
· 4 min
articles
Every article on SQLPress — query performance, database internals, operations and the day-to-day craft of working with data.
8 articles

Relational modeling describes the entities and lets queries follow. Document modeling inverts that, and the inversion is the whole trade.
· 4 min

Past the point where the server can execute work in parallel, adding connections adds queueing rather than throughput — and moves the queue somewhere worse.
· 4 min

Column order decides which queries a composite index can serve. The rule follows from the structure, and so do the cases where it does not hold.
· 3 min

InnoDB stores the table inside its primary key. Almost every MySQL indexing consequence, good and bad, follows from that single decision.
· 3 min

Transaction pooling is what makes PgBouncer worth deploying, and it silently removes session state your application may depend on.
· 3 min

Which variant you ran decides whether the numbers in front of you are the planner's estimate or a measurement, and whether the pages came from cache.
· 4 min

One query for the list, then one more for every item in it. The cost is per statement, which is why the profiler shows a fast database and a slow request.
· 3 min

An index the planner ignores is usually a row-estimate problem. The fix starts with what the optimizer expected, not with the index definition.
· 3 min