Diagnose an index seek that reads far more rows than it returns by checking residual predicates, Actual Rows Read and index key order.
What Is a Foreign Key, and What It Protects
What is a foreign key? It’s a column that must match a key in another table, and SQL Server refuses any value that has no match. This post shows the error it raises, the ON DELETE options, and why the foreign key column needs an index of its own.
Rewriting OR Conditions So the Index Gets Used
Rewrite OR conditions with separate seeks, preserve duplicate and NULL behavior, and compare plans before choosing UNION or recompilation.
Schema Snapshot: Prove a Deployment Script Is Safe to Run Twice
A schema snapshot records a table’s columns, indexes, constraints and rows, so you can prove a deployment script is safe to run twice. This post runs a plain script twice and watches a price change again. It then guards each step, runs the guarded script twice, and shows that the two snapshots match. Every result comes from SQL Server 2025.
Sample Databases for Practicing Performance Tuning
Use sample databases for practicing performance tuning by checking data volume and skew, then enlarging the right tables carefully.
Rebuilding One Partition Online Instead of the Whole Index
A big partitioned table does not need a full index rebuild every night. Here is how to rebuild one partition safely.
TechEd India 2013 Bangalore and Pune: A Photo Journey
TechEd India 2013 Bangalore and Pune was my fifth TechEd and fourth as a speaker: four sessions in two cities, on performance troubleshooting and indexes, told in photos.







