MySQLPost-Mortem
The Subquery That Returned Correct Results in 5.7 and Wrong in 8.0
After upgrading, revenue reports showed totals 23% higher than the payment processor. The derived_merge optimization silently eliminated a DISTINCT — a confirmed product bug.
⏱ 11 min · MySQL 8.0
SQL ServerPost-Mortem
SQL Server 2016 Froze Every 30 Seconds for Exactly 10 Seconds
After upgrading from 2014, metronome-precise freezes. Storage idle during the stalls. A confirmed product bug in indirect checkpoint — KB4040276.
⏱ 10 min · SQL Server 2016
OraclePost-Mortem
Result Cache Turned a 3-Second Query into a 45-Minute Latch Storm
A RESULT_CACHE hint — 150x faster in test. Under 200 concurrent sessions, every CPU core spun on a single latch. An Oracle 12c product bug.
⏱ 11 min · Oracle 12c
SQL ServerPost-Mortem
An Orphaned DTC Transaction Held a Lock for 11 Days
A linked-server query to Oracle failed mid-transaction. The remote side rolled back. The local DTC transaction stayed open for 11 days, holding an exclusive lock.
⏱ 11 min · SQL Server 2014+
OraclePost-Mortem
ORA-01652 Every Monday at 9:05 AM for Seven Weeks
The DBA added 20GB to temp every week. DEGREE DEFAULT spawned 64 parallel slaves, each building its own hash table — 192GB for a 3GB join.
⏱ 10 min · Oracle 11g+
SQL ServerPost-Mortem
Queries Waited 47 Minutes for Memory Grants That Never Came
340 sessions queued behind one report granted 14GB and using 3GB. A 21x cardinality overestimate from 45-day-old stats locked the workspace pool.
⏱ 12 min · SQL Server 2016+