Page Free Space

SQL Server internals by Paul White

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...
Monday, 18 February 2013

The Halloween Problem – Part 3

›
The Halloween Problem – Part 3 The MERGE statement (introduced in SQL Server 2008) allows us to perform a mixture of ...
Friday, 15 February 2013

The Halloween Problem – Part 2

›
The Halloween Problem – Part 2 In the first part of this series , we saw how the Halloween Problem applies to UPDATE q...
Wednesday, 13 February 2013

The Halloween Problem – Part 1

›
The Halloween Problem – Part 1 Much has been written over the years about understanding and optimizing SELECT queries,...
Wednesday, 6 February 2013

Incorrect Results with Indexed Views

›
Incorrect Results with Indexed Views If you use MERGE , indexed views and foreign keys, your queries might return incor...
Friday, 1 February 2013

A creative use of IGNORE_DUP_KEY

›
A creative use of IGNORE_DUP_KEY Let’s say you have a big table with a clustered primary key, and an application that i...
Saturday, 26 January 2013

Optimizing T-SQL queries that change data

›
Optimizing T-SQL queries that change data Most tuning efforts for data-changing operations concentrate on the SELECT s...
Monday, 10 December 2012

MERGE Bug with Filtered Indexes

›
MERGE Bug with Filtered Indexes A MERGE statement can fail, and incorrectly report a unique key violation when: The ...
Monday, 15 October 2012

Cardinality Estimation Bug with Lookups

›
Cardinality Estimation Bug with Lookups Estimated row counts on Key or RID Lookups where a filtering predicate is app...
Wednesday, 12 September 2012

Why Doesn’t Partition Elimination Work?

›
Why Doesn’t Partition Elimination Work? Given a partitioned table and a simple SELECT query that compares the partitio...
Wednesday, 5 September 2012

Compute Scalars, Expressions and Execution Plan Performance

›
Compute Scalars, Expressions and Execution Plan Performance The humble Compute Scalar is one of the least well-underst...
2 comments:
Friday, 31 August 2012

Deletes that Split Pages and Forwarded Ghosts

›
Deletes that Split Pages and Forwarded Ghosts Can DELETE operations cause pages to split? Yes. It sounds counter-int...
Friday, 17 August 2012

Temporary Table Caching Explained

›
Temporary Table Caching Explained SQL Server (since 2005) caches temporary tables and table variables referenced in ...
14 comments:
Wednesday, 15 August 2012

Temporary Table Caching in Stored Procedures

›
Temporary Table Caching in Stored Procedures Introduction Ask anyone what the primary advantage of temporary tables ...
7 comments:
Thursday, 3 May 2012

Parallel Execution Plans Suck

›
Parallel Execution Plans Suck Summary : A deep dive into SQL Server parallelism, and a potential performance problem wi...
1 comment:
Tuesday, 1 May 2012

Query Optimizer Deep Dive - Part 4

›
Query Optimizer Deep Dive - Part 4 This is the final part in a series of posts based on the content of the Query Optim...
2 comments:
Sunday, 29 April 2012

Query Optimizer Deep Dive – Part 3

›
Query Optimizer Deep Dive – Part 3 This is the third in a series of posts based on the content of the Query Optimizer ...
Saturday, 28 April 2012

Query Optimizer Deep Dive – Part 2

›
Query Optimizer Deep Dive – Part 2 This is the second in a series of posts based on the content of the Query Optimizer...

Query Optimizer Deep Dive - Part 1

›
Query Optimizer Deep Dive - Part 1 This is the first in a series of posts based on the content of the Query Optimizer ...
Monday, 12 March 2012

Fun with Scalar and Vector Aggregates

›
Fun with Scalar and Vector Aggregates There are interesting things to be learned from even the simplest queries. For e...
Wednesday, 18 January 2012

Dynamic Seeks and Hidden Implicit Conversions

›
Dynamic Seeks and Hidden Implicit Conversions A LIKE predicate with only a trailing wildcard can usually use an index...
2 comments:
Friday, 23 December 2011

Forcing a Parallel Query Execution Plan

›
Forcing a Parallel Query Execution Plan This article is for SQL Server developers who have experienced the special kind...
1 comment:
‹
›
Home
View web version

About Me

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