Category : Execution Plans - SentryOne Team Blog

Category: Execution Plans

Itzik Ben-Gan : Optimizer Thresholds : Grouping & Aggregating, Part 2

Itzik Ben-Gan : Optimizer Thresholds : Grouping & Aggregating, Part 2

Continuing his series on optimization thresholds, Itzik Ben-Gan dives into the costs behind stream aggregates when the data needs to be sorted first.

Itzik Ben-Gan : Optimizer Thresholds : Grouping & Aggregating, Part 1

Itzik Ben-Gan : Optimizer Thresholds : Grouping & Aggregating, Part 1

For his first post on SQLPerformance.com, Itzik Ben-Gan shows you how to reverse engineer optimizer costing for a Stream Aggregate operator.

Rob Farley : Dealing with date and time instead of datetime

Rob Farley : 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.

Paul White : Row Goals Part 4 : Anti Join Anti Pattern

Paul White : Row Goals Part 4 : 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.

Rob Farley : When DISTINCT <> GROUP BY

Rob Farley : When DISTINCT <> GROUP BY

Usually DISTINCT and GROUP BY will yield the same results, but here Rob Farley explains cases that can break the rule.

Paul White : Row Goals Part 3 : Anti Joins

Paul White : Row Goals Part 3 : Anti Joins

Continuing his in-depth series on row goals, Paul White explains both why and how they can impact queries involving anti joins.

Paul White : Row Goals Part 2 : Semi Joins

Paul White : Row Goals Part 2 : Semi Joins

Continuing his series on row goals, Paul White explains how they can impact certain types of semi joins, and how you can spot these effects in showplan and trace flag output.

Erin Stellato : Automatic Plan Correction in SQL Server

Erin Stellato : Automatic Plan Correction in SQL Server

Erin Stellato gives an overview of Automatic Plan Correction in SQL Server 2017 and Azure SQL Database, and assures us that Microsoft is not trying to code us out of jobs.

Paul White : Setting and Identifying Row Goals in Execution Plans

Paul White : Setting and Identifying Row Goals in Execution Plans

Paul White provides some great information about row goals, explaining why they're important to understand when examining why the query optimizer made a certain choice.

Q & A from our Parameter Sniffing webinar series

Q & A from our Parameter Sniffing webinar series

Aaron Bertrand addresses the questions raised during two parameter sniffing webinars in January with Kimberly L. Tripp and Andy Mallon.

Paul White : Trigram Wildcard Search in SQL Server

Paul White : Trigram Wildcard Search in SQL Server

Paul White discusses the pros and cons of maintaining three-character substrings (trigrams) to speed up wildcard searches. Continue reading…

Adaptive Query Processing in SQL Server 2017

The next release of Microsoft SQL Server, announced as SQL Server 2017, is available for download in CTP2 at http://tinyurl.com/SQLvNextLinux and offers many cool new features. One set of features that I really want to focus on is adaptive query processing. These new features speed processing of workloads, especially those that have historically been the

Performance Myths : Oversizing string columns

Performance Myths : Oversizing string columns

Aaron Bertrand (@AaronBertrand) shows a quick demo that illustrates why you should be very careful about oversizing varchar / nvarchar columns.

SQL Server Optimizer Secrets With Trace Flag 86xx

SQL Server Optimizer Secrets With Trace Flag 86xx

Kevin Kline (@kekline) provides his slides and scripts from his new SQLBits session describing the deep internals exposed by the 86xx series of trace flags.

Paul White : Cardinality Estimation for a Predicate on a COUNT Expression

Paul White : Cardinality Estimation for a Predicate on a COUNT Expression

Paul White (@SQL_Kiwi) takes you on an optimizer journey, exploring how SQL Server comes up with cardinality estimates for COUNT queries.