Evaluate indexed views by building a sales summary, comparing read savings with write maintenance, and using NOEXPAND where required.
AT TIME ZONE Cost: Converting Many Rows Without Burning CPU
Converting a whole column with AT TIME ZONE looks harmless on three rows and hurts on a hundred thousand. Here is the cheaper way to filter a local day.
What Lock Escalation Is and How to Stop It
Understand lock escalation, confirm it with evidence, and reduce its impact through smaller transactions, better access paths, and modern locking.
SQL Statistics: How SQL Server Estimates Row Counts
SQL statistics are small summaries of your data that tell the optimizer how many rows a query will return. This post builds an orders table with one rare value and one common value, reads the histogram, compares estimated and actual rows in the plans, and shows a stale statistic fixed with UPDATE STATISTICS. Every result comes from SQL Server 2025.
Page Split in SQL Server: What It Is and How to See One
A page split in SQL Server happens when a row belongs on a data page that is already full. This post builds a small visitor table, shows which page every row sits on before and after a split, counts the splits in the log, and uses fill factor to leave room. Every result comes from SQL Server 2025.
Large IN Lists: When a Temp Table Beats Thousands of Values
Pasting thousands of IDs into an IN list works, until it does not. See where the time goes and how to keep the answer the same with a temp table.
SSAS Cube Performance: Diagnosing a Sudden Slowdown
SSAS cube performance diagnosis starts with the exact slow request. Follow storage, MDX calculations, cache, processing, and resource evidence before choosing a fix.







