• Log In
  • Contact Brent
Product has been added to your cart.
  • Consulting
    • Performance Tuning
    • Remote DBA Services
    • Upgrades and Migrations
    • Consultant Toolkit
  • Training
    • Conferences
    • My Videos and Downloads
    • My Account
    • Private SQL Server Training
    • Training FAQ
    • Watch Brent Streaming Live
  • Monitoring
  • Scripts
    • sp_Blitz – free health check
    • sp_BlitzCache – find queries to tune
    • sp_BlitzFirst – instant performance check
    • sp_BlitzIndex – design the right indexes
    • sp_BlitzWho – what’s happening right now
    • PasteThePlan – share query plans
  • Blog
    • T-SQL
    • Execution Plans
    • Indexing
    • Videos
    • Architecture
    • Backup and Recovery
    • Cloud Computing
    • Development
    • First Responder Kit
    • High Availability
    • Humor
    • Locking, Blocking, and Isolation Levels
    • Parameter Sniffing
    • Production Database Administration
    • Professional Development
    • SQL ConstantCare
This stored procedure queries a view, which queries a multi-statement table valued function (MSTVF). We unwrap this hot nested mess, make a quick fix to inline the function, and add an index to support the function’s work. We fire up SQLQueryStress again, and we’re going even faster.
To access this incredible, amazing content, you gotta get Mastering Query Tuning or Recorded Class Season Pass, or log in if you already shelled out the cash.
  • 0.1 Prerequisites Before the Class (59 min)
  • 0.2 Download the Slides and Scripts
  • 1.1 How SQL Server Builds Query Plans
  • 1.2 When the Architect Gets an Early Estimate Wrong
  • 1.3 When the Architect Gets a Late Estimate Wrong
  • 1.4 Lab 1 Setup: Improving Estimates
  • 1.5 The Tuning Robots in SQL Server 2017, 2019, and 2022
  • 1.6 Lab 2 Setup: Analyzing a Running Workload
  • 2.1 Tuning for SELECT * and Lots of Rows
  • 2.2 User-Defined Functions
  • 2.3 Lab 3 Setup: Changing Results and Parameters
  • 2.4 Dynamic SQL Pro Tips
  • 2.5 Lab 4 Setup: Advanced Rewrites
  • 3.1 How Parallelism Balances Work Across Threads
  • 3.2 Avoiding Deadlocks
  • 3.3 Using Batches to Do a Lot of Work Without Blocking
  • 4.1 Lab 5 Setup: The Final Lab
  • 4.2 Final Lab: Index Tuning
  • 4.3a Final Lab: usp_Q1080
  • 4.3a Final Lab: usp_Q6627
  • 4.3a Final Lab: usp_Q8116
  • 4.3a Final Lab: usp_Report3
  • 4.3b Final Lab: Logging sp_BlitzCache to a Table
  • 4.3c Final Lab: usp_Q7521
  • 4.3f Final Lab: usp_Q6627, Take 2
  • Bonus: Storytelling Time

© Brent Ozar Unlimited®. All Rights Reserved.
Privacy Policy – Terms and Conditions

  • Consulting
  • Training
  • Monitoring
  • Scripts
  • Blog

Save your cart?

x