NO_PERFORMANCE_SPOOL changes one query optimization decision. A guarded private fixture compares baseline work, the optional hint and a supporting inner index. The article explains how to preserve results and assess actual child work without promising a plan shape.
Wait Statistics: Read the Snapshot Before Naming the Bottleneck
Wait statistics provide a starting point for investigation. Separate cumulative completed waits, background activity, signal time and currently waiting requests before treating the largest total as the present bottleneck.
Keyset Paging: Continue After a Date and ID Cursor
Keyset paging continues after a saved ordering key instead of counting past an offset. A date and unique ID together keep equal-date rows in the sequence. A guarded disposable fixture makes the boundary conditions explicit.
Row Goals: Why TOP and EXISTS Change the Plan
Inspect row goals from TOP and EXISTS, read EstimateRowsWithoutRowGoal, and compare a targeted optimizer hint using actual plans.
Estimated and Actual Execution Plans
Estimated and actual execution plans answer different questions; compare compiled choices with runtime rows, warnings, and resource use.
What Is Compatibility Level in SQL Server?
Compatibility level in SQL Server is a per-database setting, and upgrading the server does not change it. Why a restored database keeps the old level, what the setting really controls, and how to raise it without breaking a report.
Aggregate Before the Join: Shrinking Rows Early With GROUP BY
Aggregate before the join only when the grouping preserves the required customer result. This private lab checks NULLs, missing matches, duplicate dimensions, complete outputs, actual plans, and reads.







