I was really surprised, but also honoured, when I was asked to participate in the Query Tuning Learning Pathway at the 2021 PASS Community Summit. I immediately knew I wanted this to be a new session, and I wanted it to be special. After a few mails between Allen White (the pathway coordinator) and me, the idea was born to build a session aimed at bridging the gap between on the one side the simplified classroom examples typically used to explain a concept, and on the other side the big and messy execution plans you’ll encounter when trying to apply your knowledge in actual production systems.
First time delivery
I named the session “Here’s the execution plan … now what?”. It seemed apt to name the title after the thought many people will have when they first load into a real execution plan on a messy production system.
The session itself was, after a short introduction, completely demo only. I had prepared three different demos, all based on issues you can realistically encounter in your work. The queries used were not as complex as those you’ll find in reality, but far more complex then normal classroom examples. I also deliberately put lots of code quality issues in the examples, not all relevant to the problem to be solved. Because that’s also what you’ll have to expect in your work.
Presenting a session for the first time is always exciting. How will the audience respond? Will I get my points across or are my explanations bad? Will there be interesting question and a good flow between the audience and me?
I myself was happy after the delivery. It had felt good. There was nice audience interaction. And even my timing didn’t suck quite as bad as it usually does. A few people reached out to me with nice words. But of course, I was still eagerly anticipating the …
Session feedback
After a first time delivery of a session, I always await the session feedback with even more eagerness than normal. I was very happy to see that most of the attendees really were very happy with this session, and nobody was totally disappointed. But what made me even more happy was that 43 people took the time to type some feedback in the free text field, and that all these comments were made available to me.
I always love reading those free text feedback comments. Especially those that point me to things where I could have done better. In this case, one thing that was mentioned a few times was how fast I went through the examples. This was a deliberate choice. I wanted to show a few very different examples, to ensure the focus of the session is clearly on “ways to use the execution plan” rather than “how do you fix this one specific problem”. But choosing to use higher than normal complexity and choosing to use multiple examples does mean that the delivery needs to go fast. With the risk that it’s too fast for those who need the content the most.
Put it on YouTube!
I always take all feedback seriously. So I started to think about ways to fix this for future deliveries of the same session. However, even though the “too fast” comment was mentioned often enough to be relevant, it was not mentioned so often that I had to believe it applied to the entire audience. I suspect that at least half of the audience were happy with the pace as it was. Not everyone in the audience is at the same point in the learning curve. Those at the start need more time to benefit from a session; they would benefit if I remove one of the demos to have more time for the remaining two. But those who are already further along would actually benefit more from the pace as is, and keeping all three demos.
There is no way to make a single session cater to the entire audience. At least not in a live delivered session. But what about a recording?
Based on the feedback, I decided that I would record this session and put it on my YouTube channel. This enables viewers to speed up or slow down the replay speed. To rewind and repeat parts they didn’t immediately get. I also added captions, so if you have a hearing impairment, if you are in a noisy environment, or if you simply struggle with my imperfect English pronunciation, just switch on the captions and read my words!
Also, instead of creating one long video with all three demos, I decided to create three shorter videos, each walking through one of the demos. And who knows, perhaps I might even add more, completely original videos in the future.
Earlier this week I finished and released the first of these videos: Here’s the execution plan … now what (part 1 – excessive I/O). Do keep in mind, when watching this, that the videos I put on YouTube are not professional training quality, they are closer to recorded live delivery. I record these in one single take and do no or only very minimal editing, so you will see and hear coughs, uhms, and mistakes.
Live delivery?
Not everyone likes the YouTube format. Some prefer live delivery. Either in-person or virtual.
I don’t believe the world is already ready for a return to in-person events. I understand that other people have different opinions, and I respect those opinions, but I will not participate in any in-person events.
But I do still love to speak at virtual or hybrid live events. So if you want to catch this session live, with an opportunity to interrupt me and ask your questions, or listen to other people’s questions, just keep an eye on my upcoming speaking engagements. At the time of me writing this post, three events have scheduled this new session. (Note that the delivery at SQL Bits will cover just two of the three examples, due to their much shorter time slots). If and when more events ask me to present this session, I will always put it on this page.