Index-Tuning-Decisions

Index Tuning Decision Tree for SQL Server

I recently mapped out my thought process for how I approach a new instance of SQL Server when it comes to index tuning. It now looks like this: Highlight: Can I use Query Store? One of the first things I think about is whether the new 2016 Query Store option is available to collect query […]

Deadly-Embrace

Deadlock Code for the WideWorldImporters Sample Database

If you haven’t checked out Microsoft’s new WideWorldImporters sample database for 2016, it’s a pretty cool new little database. The database makes it easy to play around with new 2016 features, and it even ships with some cool little executables to run inserts in the “workload-drivers” folder. I recently put together some code to reproduce […]

Uniquely Portland

Unique Constraints vs Unique Indexes

Unique constraints and unique nonclustered indexes have a lot in common: unique constraints are implemented with a unique index behind the scenes. While unique nonclustered indexes have a couple of additional features, I can still think of a scenario where it might be best to use unique constraints. Unique Indexes: More flexible! 1. You can […]

Reading Query Plans

Estimated vs. Actual Number of Rows in Nested Loop Operators

This is one of those little details that confused me a ton when I was first working with execution plans. One problem with learning to work with plans is that there’s just SO MUCH to look at. And it’s a bit spread out. So, even when looking at a single tooltip, things can be confusing. Let’s […]

Finding-Your-Voice-as-a-Speaker

Finding Your Voice as a Speaker (Dear SQL DBA Episode 15)

Learn what it’s like to find and develop your voice as a technical speaker in this week’s episode of Dear SQL DBA. You can also listen to this episode in a podcast. This episode is a little more personal than most. Today, I’m going to answer a question that I’ve gotten five or six times in […]

IndexingPants

Do Clustered Index Columns Count Against Max Nonclustered Key Size?

SQL Server 2016 and Azure SQL Database have a lot of little perks. One little thing that changed is that the maximum key size allowed for nonclustered indexes was raised from 900 bytes to 1700 bytes. Whoa! That’s room for a lot more key columns in there. Bring on the SSDs! Load up the memory! […]

Collecting-and-Baseline-Wait-Stats

Collect and Baseline Wait Statistics (Dear SQL DBA Episode 14)

What are the best tools to collect and baseline wait statistics? Should you write your own? Watch the 18 minute video or read the episode transcript below. Prefer a podcast?   Dear SQL DBA… I am getting into performance troubleshooting on SQL Server. I hear you talk about wait stats a lot, and how important […]