Building My Dev/Prod Demon Hunters Session, Part 1: The Strategy

Conferences and Classes

For SQLBits this year, I wanted to submit a performance tuning session about one of the most classic, timeless problems I run into: why is the same query fast in development but slow in production?

All of my regular readers – if there is such a thing – are now yelling out, “Parameter sniffing!”

And yes, that’s the most common cause, by far!

But there are a bunch of other problems we run into, and I wanted to build a session that would explore them.

The Session Design Challenges

Presentations usually default to one of two formats: either a bunch of slides, or a demo. Both of those approaches work completely fine, but when I’m giving an all-day session at a big conference like SQLBits, I wanna bring my A-game. I wanna surprise and delight people.

"Golden" - K-Pop Demon Hunters

The session needs to be interactive. Sometimes that means they follow along with demos on their laptop, but that can be hard with large quantities of attendees. The attendees all need fast laptops, they need the appropriate software & databases & scripts ahead of time, and they’ll probably need power plugs. Interactive doesn’t have to mean the attendee is hitting F5: it can also mean that I’ve got something up on the screen that requires their focus, requires them to think, and encourages them to raise their hand or point things out.

The session needs to shift gears a few times. No matter what storytelling element I use, attendees will get bored if I use the same one all day. After each bio break, I wanted to shift gears and change tactics. Perhaps we solve a different problem, or we use a different storytelling tool (slides vs demos vs something else.)

The session needs to tie into the SQLBits theme. I confess that I’ve been lazy about this in years past. It’s hard for me to justify the work required to write an entire all-day session that’s closely tied into a one-time event’s theme, and then not be able to give that session again, or have to spend a lot of time adapting it to the kind of theme I usually use (Fundamentals & Mastering.) However, this year I wanted to challenge myself, and because the theme is “cartoon”, I figured I could find a way to integrate it into the cartoon avatars I’m known for using.

How I’ll Tell the Story(ies)

I decided to break the overall session up into a series of individual, standalone stories. I would set up two different servers – Prod and Dev – and set up a series of challenges. I’d have a query that runs fast in dev, slow in prod (or vice versa), and then say to attendees, “Alright, now we gotta find out what’s going on.”

Put these anti-patterns in the past now

In each story, the root cause will be different, and the way we’ll solve it will be different.

This requires more planning than you’d think! Let’s say we’re gonna demonstrate just 3 problems: parameter sniffing, different statistics on each server, and different settings on each server. Well, I can’t just teach them in random order: they have to build on each other, and they have to illustrate my performance tuning method.

Let’s say the first problem we tackle together is the “different settings on each server” one. If I have the two dev & prod queries open side by side in SSMS, what would make me switch over to looking at server settings? I would probably look at the plans first, look at their compiled parameters – but if I’m trying to teach how to solve “different settings on each server”, then I’m wasting storytelling time there, and every minute counts when you’re building a session.

Instead, in this example, I would lead with the parameter sniffing problem as the first story because as a troubleshooter, I wanna lay the two plans out side by side and rule out parameter sniffing first. If the two environments get the same plan when the plans are optimized for the same parameters, great, we can focus on that before moving on to more ambitious problems.

That means when I get to the “different settings on each server” problem later on in the day, I can tell the story by saying, “Alright first, let’s rule out parameter sniffing. Yep, that’s not the problem, because even when the queries are compiled for the same parameters, we STILL get different plans, so let’s zoom out and find out what’s influencing these different plans, and figure out how to work around it.”

In our 3-problems scenario, we might choose to tell the story in this order:

  • Parameter sniffing
  • Different statistics on each server
  • Different settings on each server

Then, the way we tell the overall story starts to inform our troubleshooting method! We’re building a repeatable checklist where we can say, “Go through these things, in this order, every time.” However, I can’t reveal that checklist ahead of time, even in the beginning of the session! If I did, then I can’t run the day as a series of mysteries that we’re going to solve together. The agenda slide would explain the cause of each mystery, hahaha! So while I’ll be blogging about the process of building this training day session, I won’t be sharing the agenda slide or even telling you the module names. Gotta keep it a fun mystery for the attendees.

How I’ll Theme the Story

My first attempt was to look up what movies are releasing in April 2026, the month of Bits, and see if there was a cartoon movie I could tie into. There is indeed a Super Mario Galaxy movie, and I did think about theming the session around that. I did come close to using Mario Kart items, but it didn’t feel quite right.

So I asked ChatGPT for ideas! I’m not ashamed.

I basically copy/pasted in a bunch of information from SQLBits’ web site, my own blog posts about the conference, my bio, and my session planning notes. I said I’m looking for cartoons, animes, animated movies, etc that I could use for my session theme.

It came up with a bunch of good suggestions, but K-Pop Demon Hunters made me stand up out of my office chair. I instantly thought, “It needs to be Dev-Prod Demon Hunters.” It works so well on so many levels:

Cosplay ideas (for you, not me)

  • I can use the term “demon” for the problems we’re solving
  • In the movie, the demons are hidden, but once they’re exposed, they’re not that hard to conquer
  • The songs are catchy as hell (I dare you to listen to Golden only one time)
  • I’ve been to Asia a couple times recently, had a great time, and have some fun photos to use in slides
  • I can use temporary tattoos for the demon skin markings from the movie

The timing isn’t perfect: K-Pop Demon Hunters will be fading from popularity around the time of Bits, and the sequel won’t be out for a few years. However, it feels like the theme will work for a while, and I can use the session for a while at other conferences.

Wanna join in? Register now for SQLBits.

Previous Post
[Video] Office Hours Aboard the Groove Cruise

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.