Batch Mode Normalization and Performance Paul White takes a deep-dive look at the internals of batch mode data normalization and how it can affect execution plans and performance. Paul White ◆ September 5, 2019 1
Batch Mode Bitmaps in SQL Server Paul White takes a deep dive into SQL Server batch mode bitmaps revealing undocumented details that can greatly impact performance. Paul White ◆ August 23, 2019 3
Some ANY Aggregate Transformations are Broken Paul White explores two cases where the introduction of the internal ANY aggregate by the optimizer may cause wrong results. Paul White ◆ July 1, 2019 8
SQL Server Join Estimation using Histogram Coarse Alignment Paul White dives into histograms and explains how the optimizer uses coarse alignment for cardinality estimates. Paul White ◆ November 20, 2018 1
Optimization Thresholds – Grouping and Aggregating Data, Part 5 In the conclusion of his series on grouping and aggregation costs, Itzik Ben-Gan reveals some of the math behind seek vs. scan decisions. Itzik Ben-Gan ◆ August 8, 2018 2
Optimization Thresholds – Grouping and Aggregating Data, Part 4 In the fourth installment of his series on optimization thresholds, Itzik Ben-Gan looks at how SQL Server applies costs to parallel operations. Itzik Ben-Gan ◆ July 11, 2018 7
Optimization Thresholds – Grouping and Aggregating Data, Part 3 Itzik Ben-Gan dissects the Hash Match (Aggregate) algorithm in his latest post in a series on SQL Server optimization thresholds. Itzik Ben-Gan ◆ June 13, 2018 10
Optimization Thresholds – Grouping and Aggregating Data, Part 2 Continuing his series on optimization thresholds, Itzik Ben-Gan dives into the calculations behind stream aggregate costing when the data needs to be sorted first. Itzik Ben-Gan ◆ May 9, 2018 6
Optimization Thresholds – Grouping and Aggregating Data, Part 1 In his first SQLPerformance post, Itzik Ben-Gan shows you how to reverse engineer optimizer costing for a Stream Aggregate operator. Itzik Ben-Gan ◆ April 10, 2018 6
Dealing with date and time instead of datetime Rob Farley describes a tactic where adding multiple predicates around separate date and time columns can win you some better performance. Rob Farley ◆ March 29, 2018 5
Row Goals, Part 4: The Anti Join Anti Pattern Paul White continues his series on row goals, treating a redundant and problematic TOP (1) that is added to the inner side of an apply anti join. Paul White ◆ March 19, 2018 0