Page Free Space

SQL Server internals by Paul White

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...
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:
‹
›
Home
View web version

About Me

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