Live registration reopens October 1, 2026, in 7d 08h 32mNotify me

Author: Brent Ozar

I make Microsoft SQL Server go faster. I love teaching, travel, cars, and laughing. I'm based out of Las Vegas. He/him.

How Multi-Column Statistics Work

The short answer: in the real world, only the first column works. When SQL Server needs data about the second column, it builds its own stats on that column instead (assuming they don't already exist), and uses those two statistics together - but they're not really correlated.

For the longer answer, let's take a large version of the Stack Overflow database, create a two-column index on the Users table, and then view the resulting statistics:

Read more about How Multi-Column Statistics Work 4 comments — Join the discussion

[Video] Office Hours: Q&A on the Mountaintop

Well, maybe mountain is a bit of a strong word, but it's one of the highest elevation home sites in Las Vegas, with beautiful views over the valley, the Strip, the airport, and the surrounding mountains. Let's go through your top-voted questions from https://pollgab.com/room/brento while taking in the view - and you can move the camera around, since this is an Insta360 video.

Read more about [Video] Office Hours: Q&A on the Mountaintop 4 comments — Join the discussion

My Wish List for SQL Server Performance Features

There are a lot of shopping days left before Christmas, and even more before the next version of SQL Server ships, so might as well get my wish list over to Santa now so the elves can start working on ignoring them.

My work focuses on performance tuning, so that's what my wish list focuses on, too. They really are wishes, like I-want-a-pony, because I know I'm discussing some stuff that's easy to describe, but really challenging to implement.

Read more about My Wish List for SQL Server Performance Features 25 comments — Join the discussion

SSMS v22.4.1: Copilot is GA. So What’s It Do Right Now?

Copilot in SSMS has two parts. Usually people focus on the pop-out Copilot chat window, and that's useful for sure, but honestly I think you're going to get way more mileage out of the code completions feature, right away, because it blends in with your existing workflows. Let's say that I'm working with the Stack…

Read more about SSMS v22.4.1: Copilot is GA. So What’s It Do Right Now? 14 comments — Join the discussion

Updated First Responder Kit and Consultant Toolkit for March 2026

For the last few years, I've slowed the First Responder Kit release down to once per quarter. It felt pretty feature-complete, and I didn't want to make y'all upgrade any more than you have to. You're busy, and I don't want to take up your time unless there's something really big to gain from doing an upgrade.

Read more about Updated First Responder Kit and Consultant Toolkit for March 2026 14 comments — Join the discussion

Get Free AI Query Advice in PasteThePlan.

At PasteThePlan.com, you can paste execution plans into your browser, then send a link to someone else to get query advice. It's useful for online forums, Stack Exchange, and the like.

After you paste the plan, you've got a new AI Suggestions tab. It sends your query plan (and my custom prompt) up to ChatGPT 5.3, and in 30 seconds or less, you get a second opinion on ways to make it go faster:

Read more about Get Free AI Query Advice in PasteThePlan. 7 comments — Join the discussion
Performance Tuning

Row-Level Security Can Slow Down Queries. Index For It.

The official Azure SQL Dev's Corner blog recently wrote about how to enable soft deletes in Azure SQL using row-level security, and it's a nice, clean, short tutorial. I like posts like that because the feature is pretty cool and accomplishes a real business goal. It's always tough deciding where to draw the line on how much to include in a blog post, so I forgive them for not including one vital caveat with this feature.

Read more about Row-Level Security Can Slow Down Queries. Index For It. 3 comments — Join the discussion

Logical Reads Aren’t Repeatable on Columnstore Indexes. (sigh)

Sometimes I really hate my job. Forever now, FOREVER, it's been a standard thing where I can say, "When you're measuring storage performance during index and query tuning, you should always use logical reads, not physical reads, because logical reads are repeatable, and physical reads aren't. Physical reads can change based on what's in cache,…

Read more about Logical Reads Aren’t Repeatable on Columnstore Indexes. (sigh) 12 comments — Join the discussion

I’m Not Gonna Waste Time Debunking Crap on LinkedIn.

LinkedIn is full of absolute trash these days. Just flat out bullshit garbage. (Oh yeah, that - this post should probably come with a language disclaimer, because this stuff makes me mad.)

People wanna look impressive without actually putting in the work to gain real knowledge. They're asking ChatGPT to write viral "expertise" knowledge posts for them, and they're publishing this slop without so much as testing it.

Read more about I’m Not Gonna Waste Time Debunking Crap on LinkedIn. 47 comments — Join the discussion

[Video] Office Hours: Back in the Bahamas Edition

Yes, I'm back on a cruise ship with another 360 degree video. Lest you think I'm being wildly irresponsible (or responsible perhaps?) with your consulting and training money, be aware that this particular cruise was free thanks to the fine folks in the casino department at Norwegian Cruise Lines. In between beaches and blackjack, let's go through your top-voted questions from https://pollgab.com/room/brento.

Read more about [Video] Office Hours: Back in the Bahamas Edition 1 comment — Join the discussion