Craig Freedman's SQL Server Blog

A discussion of query processing, query execution, and query plans in SQL Server.

July, 2006

Blog - About

About Craig Freedman's WebLog

About my blog

I am using this blog to write about how query processing works in SQL Server.

Some of the topics that I write about:

  • How to read and understand query plans and query operators.
  • How different query plans affect performance.
  • The tradeoffs made by the query optimizer when choosing query plans.
  • How subtle changes to a query can affect the choice of plan and impact performance.

About me

I've been developing commercial database engines and working on query processing for more than 10 years.  I've worked for the SQL Server team for more than 5 years and am a co-author of Inside Microsoft SQL Server 2005: TM 2005: Query Tuning and Optimization" href="" mce_href="">Query Tuning and Optimization.  You can learn more about me at this interview.

  • Craig Freedman's SQL Server Blog

    Nested Loops Join

    SQL Server supports three physical join operators: nested loops join, merge join, and hash join. In this post, I’ll describe nested loops join (or NL join for short). The basic algorithm In its simplest form, a nested loops join compares each...
  • Craig Freedman's SQL Server Blog

    Introduction to Joins

    Joins are one of the most important operations performed by a relational database system. An RDBMS uses joins to match rows from one table with rows from another table. For example, we can use joins to match sales with customers or books with authors...
  • Craig Freedman's SQL Server Blog

    Index Examples and Tradeoffs

    The optimizer must choose an appropriate “access path” to read data from each table referenced in a query. The optimizer considers many factors when deciding which index to use, whether to do a scan or a seek, and whether to do a bookmark lookup. These...
  • Craig Freedman's SQL Server Blog

    Seek Predicates

    Before SQL Server can perform an index seek, it must determine whether the keys of the index are suitable for evaluating a predicate in the query. Single column indexes Single column indexes are fairly straightforward. SQL Server can use single...
Page 1 of 1 (4 items)