This series is about my process for writing my upcoming presentation at SQL Saturday Chicago #825.
Today I’m going to post some of the ideas for the flow of the presentation. These will be general ideas, based on the abstract.
By the time I’m done with this presentation, these could be completely different.
Idea #1: Start with the pain that memory grants can cause RESOURCE_SEMAPHORE
It can be terrifying to feel like you don’t know what to do, and that fear only gets worse when you’re facing an unknown performance issue.
When your system is facing too many big memory grants, a number of troubleshooting scripts won’t work. I feel like this could be catchy and interesting, but it’s risky. If I don’t have the right demo, and if I don’t pull it off right, I could miss the point.
Idea #2: Start in familiar territory, with a normal execution plan and develop from there
In my prerequisites, I mentioned a basic knowledge of execution plans. That can mean a lot of things to different people, but as long as they are familiar with a few operators, I could work my way from there into requested and grant query memory.
This has a lot of potential because it introduces my subject and then I can work into situations where you’d want to tune a query to reduce its memory grant.
Idea #3: Pick a few execution plan operators that request memory
I don’t want to spend the whole session discussing execution plan operators, but I think I could start with the Sort operator. I think people are familiar with explicit sorting, using ORDER BY.
My fear here is that I want to focus on the impact on the whole SQL Server, and spending too much time on operators could burn a lot of session time.
Tomorrow and the weekend
I’m going to leave these ideas here and let them digest overnight. I’m planning to do some research and testing this weekend, which should help me pick (or add more ideas).
What do you think? Am I missing something? Let me know!