Here’s the execution plan … now what?

This page contains the description for my conference session “Here’s the execution plan … now what?”, links to the slide deck and demo code used in this presentation, and links to recordings of past deliveries.


Target audience Database developers and DBAs who have just started to learn how to use execution plans for troubleshooting slow queries.

Attendees are expected to be somewhat familiar with execution plans, and have a good working knowledge of T-SQL.

Short description Real execution plans are large and messy. You may know your query does excessive I/O, or uses too much memory, now you need to know which area of the execution plan causes that. That’s the topic of this session.
Duration The ideal length for this session is 60 – 75 minutes.
Full abstract You have learned the relevance of execution plans. You know where to find them, and you’ve been taught the basics of how to read them. You’ve looked at some of the clean, simple execution plans that presenters used in classroom training, or at conferences, and you feel confident that you can work with them. And then you get your first problem query at your workplace, you look at its execution plan, and you just want to crawl under a rock and cry.

Real code is much more complicated than demo code. Real code translates to large, complex, and often messy execution plans. The principles of reading execution plans still apply, but the plan is large and messy and you struggle where to even begin.

If your query uses a lot of I/O, then which operators are to blame? If your query uses a lot of memory, then what area is responsible? What are some things you should always look at?

Knowing the root cause of a problem can help find a cure. Knowing where to look in a large execution plan can help you find that root cause faster!


Click here to download a ZIP file containing the slide deck and demo code used in this presentation.

(Note: my presentations tend to evolve over time, so the version you find here may not be an exact match for the version you witnessed).


Not able to attend a conference and still interested in this session? I have made the content of this session available, split over three short videos:

  • Part 1: Dealing with excessive I/O – click here.
  • Part 2: Fixing high RESOURCE_SEMAPHORE waits – click here.
  • Part 3: Handling erratic query performance – click here.



By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.