Deletes that Split Pages and Forwarded Ghosts
Slow SQL Server DELETE
peformance caused by unexpected page splitting or forwarded ghost records.
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.
JOIN
and GROUP BY
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.
Finding the statistics used to compile a SQL Server query using undocumented trace flags.
SELECT
query cause page splits?Page splits caused by populating an Index Spool. EXECSYNC
waits when loading a parallel spool.
SQL Server b-tree seeks can use binary search or linear interpolation (with linear regression). The latter can be more efficient, except when key values are separated by a small fixed gap.
SQL Server seeks using a unique index can be much slower than the same index when not marked unique.
SQL Server can perform an equality seek much more quickly when the index used for seeking is marked as UNIQUE
.