Optimizing T-SQL queries that change data
Optimizing the performance of SQL Server INSERT
, UPDATE
, DELETE
, and MERGE
statements. Execution plan analysis and undocumented trace flags. Narrow (per-row) and wide (per-index) plans.
Optimizing the performance of SQL Server INSERT
, UPDATE
, DELETE
, and MERGE
statements. Execution plan analysis and undocumented trace flags. Narrow (per-row) and wide (per-index) plans.
A SQL Server bug with unique filtered indexes. Covers narrow update plans and the Split, Sort, Collapse operator combination.
Incorrect SQL Server estimated row counts on Key and RID Lookup operators where a Filter is applied.
SQL Server can fail to eliminate partitions from a query due to implicit type conversion.
How the SQL Server Compute Scalar operator works internally.
Slow SQL Server DELETE
peformance caused by unexpected page splitting or forwarded ghost records.
Internal details of SQL Server temporary table and table variable caching.
How SQL Server temporary table caching can affect statistics, execution plans, and recompilations in unexpected ways.
Why TOP
may not work well with SQL Server parallel queries.
Internal operation of the SQL Server query optimizer. Writing queries that will take advantage of the optimizer's relational reasoning.
SQL Server query optimizer memo structure, search stages, and final plan selection.
Cost-based optimization in the SQL Server query optimizer, the input tree, properties, and rules.
The SQL Server query optimization pipeline, early stages of compilation, and cardinality estimation. Includes trivial plans.
The important differences between SQL Server aggregates with a GROUP BY
clause (vector) and those without (scalar aggregates).
Dynamic seek plans driven by Constant Scan and Merge Interval operators.
How to force SQL Server to generate a parallel execution plan, including some of the reasons the server sometimes chooses a serial plan.
A SQL Server bug in cardinality estimation with serial partial aggregates. Covers how SQL Server uses local and partial aggregates.
Query rewrites to efficiently perform a DISTINCT
aggregate using other aggregates. The SQL Server 2012 optimizer transformation that performs the rewrite for you.