Page Free Space

SQL Server internals by Paul White

Sunday, 27 February 2011

SQL Server Bug: Slow T-SQL Sums and Averages

›
SQL Server Bug: Slow T-SQL Sums and Averages It’s a curious thing about SQL that the SUM or AVG of no items (an empt...
Wednesday, 23 February 2011

Advanced TSQL Tuning: Why Internals Knowledge Matters

›
Advanced T-SQL Tuning: Why Internals Knowledge Matters There is much more to query tuning than reducing logical reads a...
Saturday, 19 February 2011

I see no LOBs!

›
I see no LOBs! Is it possible to see LOB (large object) logical reads from STATISTICS IO output on a table with no LO...
Thursday, 17 February 2011

Seeking Without Indexes

›
Seeking Without Indexes A seek can contain one or more seek predicates , each of which can either identify (at most) on...
1 comment:

So…is it a Seek or a Scan?

›
So…is it a Seek or a Scan? You might be most familiar with the terms ‘Seek’ and ‘Scan’ from the graphical plans produce...
Wednesday, 16 February 2011

When is a Seek not a Seek?

›
When is a Seek not a Seek? The following script creates a single-column clustered table containing the integers from 1 ...
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 ...
‹
›
Home
View web version

About Me

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