Craig Freedman's SQL Server Blog

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

November, 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="http://www.microsoft.com/MSPress/books/8565.aspx" mce_href="http://www.microsoft.com/MSPress/books/8565.aspx">Query Tuning and Optimization.  You can learn more about me at this SQLServerCentral.com interview.

  • Craig Freedman's SQL Server Blog

    Introduction to Partitioned Tables

    • 5 Comments
    In this post, I’m going to take a look at how query plans involving partitioned tables work. Note that there is a big difference between partitioned tables (available only in SQL Server 2005) and partitioned views (available both in SQL Server 2000 and...
  • Craig Freedman's SQL Server Blog

    Parallel Hash Join

    • 6 Comments
    SQL Server uses one of two different strategies to parallelize a hash join . The more common strategy uses hash partitioning. In some cases, we use broadcast partitioning; this strategy is often called a “broadcast hash join.” Hash Partitioning ...
  • Craig Freedman's SQL Server Blog

    Parallel Nested Loops Join

    • 6 Comments
    SQL Server parallelizes a nested loops join by distributing the outer rows (i.e., the rows from the first input) randomly among the nested loops threads. For example, if we have two threads running a nested loops join, we send about half of the rows to...
  • Craig Freedman's SQL Server Blog

    Parallel Scan

    • 3 Comments
    In this post, I’m going to take a look at how SQL Server parallelizes scans. The scan operator is one of the few operators that is parallel “aware.” Most operators neither need to know nor care whether they are executing in parallel; the scan is an exception...
Page 1 of 1 (4 items)