Database Topic Archive

MySQL Articles

InnoDB internals, replication, locking, query performance, and MySQL operations notes.

Reading MySQL EXPLAIN ANALYZE Without Fooling Yourself
8 min read

MySQL 8.0.18 gave us EXPLAIN ANALYZE, and most people read its output wrong. Here is how the per-loop numbers actually work, the misreads I keep seeing, and when the tree format tells the truth tabular EXPLAIN hides.

A Working MySQL Slow Query Log Digest Workflow
7 min read

The MySQL slow query log is still the best forensic record of a bad deploy, but only if you configure it deliberately and digest it into query families. This is the workflow I actually run.

MySQL Redo Log Capacity, Checkpoint Age, and Sync Flush Stalls
7 min read

When checkpoint age catches up with redo capacity, InnoDB stops the world to flush, and your p99 pays for it. Here is how innodb_redo_log_capacity works in 8.0.30+, how to size it against write bursts, and how furious flushing looks in…

MySQL Internal Temporary Tables: When Queries Quietly Spill to Disk
7 min read

GROUP BY, DISTINCT, derived tables, and window functions can all materialize internal temp tables, and when those overflow memory your query is suddenly doing disk I/O nobody planned. Here is how the TempTable engine works and how to find the…

InnoDB History List Length: The Canary for MySQL Purge Lag
7 min read

One idle REPEATABLE READ session can pin millions of undo records and slowly melt a busy MySQL server. History list length is the canary; this is how to watch it, find the blocker, and keep undo growth under control.

InnoDB Doublewrite Buffer: What It Costs and What It Protects
7 min read

Doublewrite exists for one narrow disaster: a torn page that redo cannot repair. This is an honest look at how it works, what it really costs in I/O, how to measure that overhead yourself, and when disabling it is actually…

InnoDB Buffer Pool Sizing: A Field Guide for Production MySQL
8 min read

The 75% rule is folklore, not a sizing method. This field guide covers working-set reality, online resizing, warmup dump and restore, and the two counters that actually tell you whether the buffer pool is big enough.