Page Free Space

SQL Server internals by Paul White

Tuesday, 14 December 2010

Beware Sneaky Reads with Unique Indexes

›
Beware Sneaky Reads with Unique Indexes I saw a question asked recently on the #sqlhelp hash tag: Might SQL Server ...
Friday, 10 December 2010

Heaps of Trouble?

›
Heaps of Trouble? Brad Schulz recently wrote about optimizing a query run against tables with no indexes at all . The...
Thursday, 4 November 2010

Myth: SQL Server Caches a Serial Plan with every Parallel Plan

›
Myth: SQL Server Caches a Serial Plan with every Parallel Plan Many people believe that whenever SQL Server creates an ...
Monday, 1 November 2010

The Case of the Missing Shared Locks

›
The Case of the Missing Shared Locks This post covers a little-known locking optimization that provides a surprising an...
Tuesday, 19 October 2010

Sequence Tables

›
Sequence Tables It is frequently useful to generate sequences of values within SQL Server, perhaps for use as surrogat...
Thursday, 23 September 2010

A Tale of Two Index Hints

›
A Tale of Two Index Hints If you look up Table Hints in the official documentation, you’ll find the following stateme...
Wednesday, 1 September 2010

Inside the Optimizer: Plan Costing

›
Inside the Optimizer: Plan Costing A detailed look at costing, and more undocumented optimizer fun. The SQL Server que...
Friday, 27 August 2010

Sorting, Row Goals, and the TOP 100 Problem

›
Sorting, Row Goals, and the TOP 100 Problem When you write a query to return the first few rows from a potential result...
2 comments:
Sunday, 22 August 2010

Row Goals and Grouping

›
Row Goals and Grouping You might recall from Inside the Optimizer: Row Goals In Depth that query plans containing a r...
Wednesday, 18 August 2010

Inside the Optimizer: Row Goals In Depth

›
Inside the Optimizer: Row Goals In Depth Background One of the core assumptions made by the SQL Server query optimizer...
Saturday, 14 August 2010

Viewing Another Session’s Temporary Table

›
Viewing Another Session’s Temporary Table Is it possible to view the contents of a local temporary table, created on...
Wednesday, 11 August 2010

The Impact of Non-Updating Updates

›
The Impact of Non-Updating Updates From time to time, I encounter a system design that always issues an UPDATE against...
2 comments:
Thursday, 5 August 2010

Iterators, Query Plans, and Why They Run Backwards

›
Iterators, Query Plans, and Why They Run Backwards Iterators SQL Server uses an extensible architecture for query opti...
2 comments:
Wednesday, 4 August 2010

An Interesting MERGE Bug

›
An Interesting MERGE Bug Investigating an optimizer transformation that exposes a bug in SQL Server’s MERGE implementa...
Saturday, 31 July 2010

Inside the Optimizer: Constructing a Plan – Part 4

›
Inside the Optimizer: Constructing a Plan – Part 4 More undocumented ways to explore how the query optimizer works.

Inside the Optimizer: Constructing a Plan – Part 3

›
Inside the Optimizer: Constructing a Plan – Part 3 Presenting an undocumented Dynamic Management View we can use to ide...
Thursday, 29 July 2010

Inside the Optimizer: Constructing a Plan - Part 2

›
Inside the Optimizer: Constructing a Plan - Part 2 Continuing the series of posts looking at how the optimizer matches ...

Inside the Optimizer: Constructing a Plan - Part 1

›
Inside the Optimizer: Constructing a Plan - Part 1 For today’s entry, I thought we might take a look at how the optimiz...
Wednesday, 28 July 2010

Ranking Function Optimizer Transformations

›
Ranking Function Optimizer Transformations In my last post I showed how SQL Server 2005 and later can use a Segment ...

Partitioning and the Common Subexpression Spool

›
Partitioning and the Common Subexpression Spool SQL Server 2005 introduced the OVER clause to enable partitioning of...

The Segment and Sequence Project Iterators

›
The Segment and Sequence Project Iterators In my last post I promised to cover the Segment iterator in more detail, so...

The “Segment Top” Query Optimization

›
The Segment Top Query Optimization A question that often comes up on the forums is how to get the first or last row fro...
‹
Home
View web version

About Me

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