The nightly index rebuild job has died after a long illness. It was born in 1998 to a hard disk that could not seek. It never believed the disk had been replaced. It is survived by page density, which did most of its work all along.
Slow Queries: A Field Guide to Eight Species
Slow queries, identified the way a field guide identifies birds: by silhouette, habitat, call, and the species they’re confused with. All eight were raised in the lab on SQL Server 2025. The reads and the wait types are what each one produced.
The Query Optimizer Interview: Twenty Minutes, No Hints
The query optimizer sat down for twenty minutes and answered for itself. Why it ignored your index, why one procedure gets a plan built for the wrong caller, what it does when it cannot see your value, and the moment its own plan admits it stopped looking.
Know Your Wait Types: Six Profiles, All Induced
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.
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.







