Explanation of query plan

  • Hi guys, I was wondering if anyone knows of a link for a graphical display of all the costly indicators in a query plan and how to avoid. Like a Hash Match(Outer Join) and how to avoid it.

    Thanks in advance.

  • There's not really anything like that, because all of the operators have their places and times when they are optimal.

    You could read through Grant Fitchley's book on exec plans. Last time I checked, Redgate was giving it away free to anyone who downloaded a demo or their SQL Toolbelt.

    Or you could look at this blog series. It's not as comprehensive as Grant's book

    http://sqlinthewild.co.za/index.php/2007/08/20/reading-execution-plans/

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Gail's series, GRant's book, Craig Freedman's blog. all good places to learn about this.

    As Gail says, time and place for everything.

    http://blogs.msdn.com/craigfr/

  • Thanks for the help guys, checking out the blogs now. I actually need to sit down and analise whats going on myself. How to avoid certain things etc. Hopefully be able to submit an article after the excersize. I somehow always manage to get myself volunteered to do presentations on things that I don't know much about. I guess it's a wicked good way to learn something. Thanks again, will be spending a lot more time on blogs.

  • Just a side note, a hash match isn't necessarily a bad thing. It can be the best way to retrieve the data, depending on the data involved.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Grant Fritchey (9/12/2008)


    Just a side note, a hash match isn't necessarily a bad thing. It can be the best way to retrieve the data, depending on the data involved.

    Indeed. For a join between two large, unsorted result sets, it's the best join there is.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply