Database Topic Archive

MySQL Articles

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

The Silent Index Killer: MySQL Collation Mismatches in JOINs
7 min read

A JOIN between columns with different charsets or collations can quietly turn an index lookup into a full scan. Field notes on how the coercion rules work, the utf8mb3/utf8mb4 upgrade trap, and the queries that find every mismatched column.

MySQL Binlog Row Image and Size: Controlling Binlog Growth
7 min read

Row-based binary logging is the right default, but it makes binlog volume a function of how many rows you touch. This covers FULL vs MINIMAL row images, partial JSON logging, expiry settings, and the big-UPDATE binlog explosion.

MySQL 5.7 to 8.0 Upgrade Field Notes for the Team That Waited
7 min read

MySQL 5.7 has been end-of-life since October 2023, and plenty of production fleets still run it. Field notes on the upgrade checker, the removals that actually break apps, and a rollback plan that is honest about being a restore plan.