Page Free Space

SQL Server internals by Paul White

Sunday, 11 October 2020

sql_handle and the SQL Server batch text hash

›
sql_handle and the SQL Server batch text hash This article describes the structure of a sql_handle and shows how the...
5 comments:
Thursday, 8 October 2020

Closest Match with Sort Rewinds

›
Closest Match with Sort Rewinds In When Do SQL Server Sorts Rewind? I described how most sorts can only rewind when th...
Tuesday, 4 August 2020

SQL Server 2019 Aggregate Splitting

›
SQL Server 2019 Aggregate Splitting The SQL Server 2019 query optimizer has a new trick available to improve the perfor...
2 comments:
Sunday, 26 July 2020

A bug with Halloween Protection and the OUTPUT Clause

›
A bug with Halloween Protection and the OUTPUT Clause Background The OUTPUT clause can be used to return results fro...
5 comments:
Sunday, 5 July 2020

How MAXDOP Really Works

›
How MAXDOP Really Works A few days ago I ran a Twitter poll: The most popular answer gets highlighted by Twitter at ...
1 comment:
Sunday, 31 May 2020

Pulling Group By Above a Join

›
Pulling Group By Above a Join One of the transformations available to the SQL Server query optimizer is pulling a logic...
Saturday, 24 August 2019

Batch Mode Bitmap Demos

›
Batch Mode Bitmap Demos This is a companion post to my main article Batch Mode Bitmaps in SQL Server . This post provid...
Sunday, 9 June 2019

Apply versus Nested Loops Join

›
Apply versus Nested Loops Join SQL is a declarative language. We use SQL to write a logical query specification that d...
1 comment:
Tuesday, 2 May 2017

SQL Server Temporary Object Caching

›
SQL Server Temporary Object Caching Creating a table is a relatively resource-intensive and time-consuming operation. T...
Friday, 23 January 2015

Allocation Ordered Scans

›
Allocation Order Scans When an execution plan includes a scan of a b-tree index structure, the storage engine may be ab...
Tuesday, 15 April 2014

Cardinality Estimation for Disjunctive (OR) Predicates in SQL Server 2014 Onward

›
Cardinality Estimation for Disjunctive Predicates in SQL Server 2014 Introduction Back in January 2014, I wrote an art...
Saturday, 31 August 2013

Nested Loops Prefetching

›
Nested Loops Prefetching Nested loops join query plans can be a lot more interesting (and complicated) than is commonly...
Wednesday, 28 August 2013

Parameter Sniffing, Embedding, and the RECOMPILE Options

›
Parameter Sniffing, Embedding, and the RECOMPILE Options Parameter Sniffing Query parameterization promotes the reuse ...
Wednesday, 21 August 2013

Incorrect Results Caused By Adding an Index

›
Incorrect Results Caused By Adding an Index Say you have the following two tables, one partitioned and one not: CREATE...
Wednesday, 24 July 2013

Two Partitioning Peculiarities

›
Two Partitioning Peculiarities Table partitioning in SQL Server is essentially a way of making multiple physical tables...
Thursday, 18 July 2013

Aggregates and Partitioning

›
Aggregates and Partitioning The changes in the internal representation of partitioned tables between SQL Server 2005 an...
Monday, 8 July 2013

Working Around Missed Optimizations

›
Working Around Missed Optimizations In my last post , we saw how a query featuring a scalar aggregate could be transfor...
Wednesday, 26 June 2013

Optimization Phases and Missed Opportunities

›
Optimization Phases and Missed Opportunities There are two complementary skills that are very useful in query tuning. O...
Monday, 17 June 2013

Improving Partitioned Table Join Performance

›
Improving Partitioned Table Join Performance The query optimizer does not always choose an optimal strategy when joinin...
Tuesday, 11 June 2013

Hello Operator, My Switch Is Bored

›
Hello Operator, My Switch Is Bored This post is in two parts. The first part looks at the Switch execution plan operato...
Thursday, 4 April 2013

Optimizer Limitations with Filtered Indexes

›
Optimizer Limitations with Filtered Indexes One of the filtered index use cases mentioned in the product documentation ...
Wednesday, 20 March 2013

The Problem with Window Functions and Views

›
The Problem with Window Functions and Views Introduction Since their introduction in SQL Server 2005, window functions...
1 comment:
Friday, 8 March 2013

Execution Plan Analysis: The Mystery Work Table

›
Execution Plan Analysis: The Mystery Work Table I love SQL Server execution plans. It is often easy to spot the cause o...
1 comment:
Thursday, 21 February 2013

Halloween Protection – The Complete Series

›
Halloween Protection – The Complete Series I have written a four-part series on the Halloween Problem . Some of you wi...
Wednesday, 20 February 2013

The Halloween Problem – Part 4

›
The Halloween Problem – Part 4 The Halloween Problem can have a number of important effects on execution plans. In this...
‹
›
Home
View web version

About Me

My photo
Paul White
View my complete profile
Powered by Blogger.