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!
Hugo Kornelis is an established SQL Server community expert who spends a lot of time at various conferences. He is also a blogger, technical editor of a variety of books, and Pluralsight author. He was awarded SQL Server MVP and Data Platform MVP 12 times (2006 – 2016 / 2019 – now).
When not working for the community, he is busy at his day job: freelance database developer/consultant.
Hugo has over 20 years of SQL Server experience in various roles. He has a strong database design background but also loves to write and tune complex queries.