Mastering Index Tuning

You need to speed up a SQL Server app, but you only want to make index changes. You don’t want to buy hardware, change SQL Server, or change the code. Good news – I’ll teach you how in 3 days of learning and fun. Join me, Brent Ozar, as I explain how to make your SQL Server apps go faster just by tuning the indexes.

Labs & lectures include:

  • How to deduplicate & prune an existing database with too many indexes
  • How to use sp_BlitzIndex to design the right nonclustered indexes for specific queries
  • How to assess a large workload and prioritize which tables/indexes to work on first
  • How to convert badly-performing recommended indexes into blazing-fast hand-tuned indexes
  • How to know when filtered indexes, indexed views, and indexed computed columns will pay off
  • How to measure whether your index changes made things better, or worse

Your Progress So Far in This Class

This is driven by the mark-as-complete buttons in each module of the class. (Let’s be honest: you’re probably just going to mark them as complete because you’re that kind of student. I feel you.)

Recent Updates & Changes

2025-11-21:

  • Using an Index’s Second Column with Skip Scans – added this new module.

2025-11-15:

  • Starting with the D.E. – re-recorded with updated guidance about my new 10 & 5 guideline, and more thoughts about when it’s okay to have more indexes per table.
  • Blocking – added a new video to demo SQL Server 2025’s new Optimized Locking.

2025-11-11:

  • Indexing for JSON Queries – added this new module explaining SQL Server 2025’s new JSON indexes. sp_BlitzIndex only has preliminary support for these indexes right now, and I’ll re-record this module once I’ve got full support coded in there.

Introductions and Setting Up Lab 1

Click on the modules on the right side of the page to keep moving through the class.