Today's post is from Gail Shaw and Grant Fritchey who will be presenting "All About Execution Plans". You can read more about their session here: http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1245.
Is there an audience that would benefit especially from this session?
Grant Fritchey: Everybody. Seriously, anyone that has to understand what decisions the optimizer has made with the queries they write. That pretty much covers, database administrators, database developers and report writers, in short, most of the SQL Server community.
Gail Shaw: Anybody who’s ever looked at an execution plan and wondered what it means. Anyone who’s ever wondered how SQL was running a particular query and if they can change that. Anyone who’s sat cursing SQL for picking the wrong index or wrong join. Anyone who’s wondered which of some query patterns were more efficient than others and how to tell that. Basically, anyone who seriously writes queries.
After having attended your seminar, what are two or three things that an attendee will be able to take back to the office and put to use right away?
Grant Fritchey: Only two or three things? I think everyone will be able to go back to their office and immediately gain access to execution plans they were not previously able to open. Further, I think the attendees will be motivated to go back to the office and look at their execution plans. We're going to be showing how to identify many common problems that evidence themselves within execution plans and we'll be showing how to fix some of those problems. If the attendees have issues such as slow running queries, blocking, or parameter sniffing, I'm pretty sure they'll have something new to use to help with those problems immediately on their return to the office.
Gail Shaw: They’ll know how to read execution plans, what some of the signs of a bad plan is, and they’ll have several options for getting those plans from SQL. That should be enough for them to dig into problems that have been nagging for months and start solving them.
What background should attendees ideally have to be fully prepared for your seminar?
Grant Fritchey: They should have a reasonably good understanding of what SQL Server is and what it does. They absolutely should already understand TSQL. This is not an introductory course where we'll walk everyone through fundamental things like connecting to the database. But, it's not a doctorate level course either. This is a middle of the road type of technical course that's going to assume fundamental working knowledge of SQL Server.
Gail Shaw: Of course it’s not a doctorate level course, SQL qualifications only go up to master level. ;-) Seriously though, as long as they understand how SQL works in general, don’t panic at the sight of complex queries and know that execution plans and the plan cache exists, they should be fine. I won’t promise that there won’t be the occasional deep dive into internals, sometimes digging deep is necessary and fun.
What experience are you, as a speaker, bringing to this session?
Grant Fritchey: I wrote a book. Isn't that enough? OK.
I've been working in development and databases for more than 20 years. During that time, I really have focused on trying to make my code better. In SQL Server, one of the best ways to improve your code is to understand what it is doing. Understanding what your code is doing requires looking at execution plans and learning how to read them. It's all this time working on real world problems that made me start posting answers on various user group forums, especially SQL Server Central. That's how I began to understand what were common problems and what were rare problems. This time and knowledge was applied to writing, and currently rewriting, a book on nothing but execution plans.
Gail Shaw: Why are you asking me? Grant wrote the book on this. Ok, enough joking. I’ve been doing SQL performance tuning for over 6 years now, databases in general for a fair bit longer (though nowhere near as long as Grant. 20 years ago I was still in high school). I’ve been solely responsible for the performance of a critical banking system (and if you think your users are bad, try stock market dealers 20 minutes before the market closes), both in tuning existing code and in helping the development team write well performing code. I’ve been helping out on the SQLServerCentral forums for over 4 years, answering many performance-related questions with just schema definitions and execution plan to work from. Execution plans are one of the things I blog frequently about.
Go here to register for the 2011 PASS Summit.