SQL Server Execution Plans for Developers and DBAs

Learn to make sense of what SQL Server is doing when it’s running your queries

Enroll now for $195 USD !

Course Summary

One of the most important skills I provide when working at customer sites, is the ability to fix performance problems. And a key aspect of that is the ability to make sense of execution plans for the queries that are causing issues.

  • Have you worked with SQL Server or Azure SQL Database?
  • Do you think execution plans are important but wish you could make more sense of them?
  • Do you know the most important things to check for when you’re reading execution plans?
  • Are you wondering what spools are used for, or asserts, or wonder how parallelism, cursors, and query hints affect plans?
  • Do you think you know the basics but know it’s time to extend your knowledge by learning from an expert?

Look, if any of these apply to you, I hope you’ll join me because this course is for you. And as well as detailed instruction, the course has optional practical exercises and quizzes that will help you reinforce your learning.


Enroll now for $195 USD !

Modules and Lessons

Module 0: Getting started

Who is this course for ?
Who is Greg ?
What will I learn in this course ?
Configuring your lab environment
Configuring demo scripts and additional databases (optional)

Module 1: Core concepts

Module introduction
Why execution plans matter
SQL Server execution engines
Relational engine - parser
Relational engine - algebrizer
Relational engine - optimizer
Query cost
Core concepts quiz

Module 2: Execution plans

Module introduction
Query compilation
Estimated execution plans
Actual execution plans
Execution plan formats
Saving execution plans
Capture plans using SQL Trace or Profiler
Capture plans using Extended Events
Capture plans using DMVs
Reusing execution plans
Plan-affecting SET options
Execution plans quiz
Execution plans lab
Execution plans lab solution

Module 3: Reading execution plans

Module introduction
Operator types
Blocking operators
Node IDs and data flow
Data volumes
Operator cost
Operator properties
Reading execution plans quiz
Reading execution plans lab
Reading execution plans lab solution

Module 4: Basic operators

Module introduction
Select
Constant scan
Compute scalar
Table scan
Clustered index scan
Columnstore index scan
Clustered index seek
Index scan
Index seek
Top
Sort
Concatenation
Print
Basic operators quiz
Basic operators lab
Basic operators lab solution

Module 5: Lookups

Module introduction
Why lookups occur
RID lookup
Key lookup
Covering indexes
Lookups quiz
Lookups lab
Lookups lab solution

Module 6: Joins

Module introduction
Join strategy vs join type
SQL Server join types
Nested loop
Hash match
Merge join
Adaptive join
Bitmap filters
Joins quiz
Joins lab
Joins lab solution

Module 7: Aggregations

Module introduction
Aggregations
Hash match
Stream
Filter
Aggregations quiz
Aggregations lab
Aggregations lab solution

Module 8: Data modification

Module introduction
Insert
Update
Delete
Merge
Assert
Data modification quiz
Data modification lab
Data modification lab solution

Module 9: Views

Module introduction
Types of views
Standard views
Indexed views
Views quiz
Views lab
Views lab solution

Module 10: Spools and parallelism

Module introduction
Spools
Eager spools
Lazy spools
Table spools
Index spools
Row count spools
Window spools
Parallel queries
Spools and parallelism quiz
Spools and parallelism lab
Spools and parallelism lab solution

Module 11: Cursors

Module introduction
Cursor declarations
Forward-only read-only cursors
Static cursors
Keyset cursors
Dynamic cursors
Open cursor and fetch
Conditionals
Close and deallocate
Cursors quiz

Module 12: Advanced concepts

Module introduction
Compare plans
Live execution plans
Table hints
Join hints
Group and union hints
Compilation hints
Plan reuse hints
Query store
Plan guides
Forcing plans with query store
Advanced concepts quiz
Advanced concepts lab
Advanced concepts lab solution

Module 13: Next Steps

Summary and further steps


Enroll now for $195 USD !