SQL at Cognate Press
SQL
Databases, queries and the people who run them: PostgreSQL, MySQL, SQL Server, Oracle and data engineering.
Published as SQLPress at sqlpress.com, written by Elias Rowe — databases, queries and the people who run them. First issue .
Every issue on SQL
Relational modeling describes the entities and lets queries follow. Document modeling inverts that, and the inversion is the whole trade.
Past the point where the server can execute work in parallel, adding connections adds queueing rather than throughput — and moves the queue somewhere worse.
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.
InnoDB stores the table inside its primary key. Almost every MySQL indexing consequence, good and bad, follows from that single decision.
Transaction pooling is what makes PgBouncer worth deploying, and it silently removes session state your application may depend on.
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.
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.
An index the planner ignores is usually a row-estimate problem. The fix starts with what the optimizer expected, not with the index definition.
The byline
Database engineer. Publishes a claim only when the version is exact, the setup is written down, and the reasoning can be checked.
What the title covers
- SQL
- PostgreSQL
- MySQL
- SQL Server
- Oracle Database
- Query planning
- Database internals
- Data engineering
The other languages in the imprint: PHP · JavaScript · Java · Python · C# · Go. Each has one title and one byline behind it — the index is at Topics.