I caused six wait types on purpose, one at a time, and measured each one for a single session. What each is blamed for, what it actually means, and the numbers it produced on SQL Server 2025. Wait types are the most misread figures in the product.
When a GUID Clustered Primary Key Gets Expensive
A GUID primary key can be useful. Learn when a GUID clustered primary key gets expensive, from page splits to index size, and when a bigint key can help.
SQL Server Network Latency: When the Database Isn’t the Slow Part
SQL Server network latency can make a fast database look slow. An application that fetches 4,000 orders one query at a time pays for every round trip. I measured the loop against one query, tested what ASYNC_NETWORK_IO means, and show how to check your own round trip time.
AI Row Count Estimates Come From Nothing
AI row count estimates arrive with tremendous confidence. Cardinal said four hundred. The query returned nine million.
Outdated Statistics in SQL Server: The Optimizer Is Planning for Last Year
Outdated statistics in SQL Server can slow a query even when its code has not changed. On SQL Server 2025 with the legacy estimator, a stale statistic sent one join to 120,043 logical reads, and a targeted update brought it down to 18,220. Auto update helps, but it waits for a threshold, it samples, and it knows nothing about the rows that arrived today.
Full, Differential and Log Backups: A Practical Guide
Full, differential and log backups are easy to define and easy to get wrong at 2 AM. This animated guide shows which ones to restore, and in what order.
Eleven SQL Server Interview Questions That Look Far Too Easy
These eleven SQL Server interview questions look far too easy, and every one of them has stopped somebody senior.






