Multiple aggregates in one query read a table once, where separate subqueries read it again and again. This post measures the logical reads of two subqueries against one SELECT, uses CASE inside SUM for different filters, and shows two cases where the rewrite gains nothing or loses to an index.
Kill a Running Shrink: Is It Safe to Stop DBCC SHRINKFILE?
You can kill a running shrink with KILL and the database stays safe. This post starts a shrink on a test database, stops it from a second window, checks the data and the file afterwards, and shows that the shrink itself, not the kill, is what fragments the table.
Scalar Function Statistics With sys.dm_exec_function_stats
Read dm_exec_function_stats to rank scalar UDF activity, inspect callers, verify collection settings, and recognize inlined work.
How to Alter Index to Add New Columns in SQL Server? – Interview Question of the Week #278
Question: How to Alter Index to Add New Columns in SQL Server?
Answer: It is not possible to Alter Index definition to add or remove columns.
Stress Testing with oStress – SQL in Sixty Seconds #087
One of the things which we cover in my Comprehensive Database Performance Health Check is how to do Load Testing or Stress Testing with oStress.
SSMS ROWCOUNT Setting: Why Your Query Stops at 100 Rows
The SSMS ROWCOUNT setting limits every query in a window to a fixed number of rows, and it can change the plan as well. This post shows the effect on rows, reads and plan with a tested demo, how to check your own session and why UPDATE statements stop at the limit too.
Forcing a Plan in Query Store and Checking That It Held
Use forcing a plan in Query Store with verified IDs, then audit force failures and runtime results every week so the fix stays useful.







