SQL Server: Troubleshooting Query Plan Quality Issues
Learn how to identify, diagnose, and prevent problems where SQL Server chooses the incorrect query plan for your critical queries, applicable to developers, DBAs, and anyone responsible for SQL Server, from SQL Server 2005 onwards
Authored by:
Joe Sack
Duration: 2h 20m
Level: Intermediate
Released: 1/11/2013
Features:
Duration: 2h 20m
Level: Intermediate
Released: 1/11/2013
Features:
Course Rating:
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
Course Introduction |
|
00:01:44 | |
|
Course Introduction
|
|
01:05 | |
|
Course Structure
|
|
00:39 | |
Why Query Plan Quality Matters |
|
00:34:06 | |
|
Module Introduction
|
|
01:00 | |
|
Which is the 'Good' Plan?
|
|
02:57 | |
|
Cardinality Estimates
|
|
01:49 | |
|
Costing and Plan Quality
|
|
01:10 | |
|
Operator Cost (1)
|
|
01:03 | |
|
Operator Cost (2)
|
|
00:33 | |
|
Operator Cost (3)
|
|
01:33 | |
|
Demo: Operator Cost
|
|
07:43 | |
|
Operator Memory
|
|
01:12 | |
|
Memory Operators
|
|
01:42 | |
|
Under-estimates and Spills
|
|
01:13 | |
|
Demo: Under-estimates and Spills
|
|
04:01 | |
|
Over-estimates and Concurrency
|
|
01:26 | |
|
Demo: Over-estimates and Concurrency
|
|
03:33 | |
|
Impacted Query Optimizer Decisions
|
|
02:25 | |
|
Excessive Resource Consumption
|
|
00:46 | |
Identifying Query Plan Quality Issues |
|
00:19:43 | |
|
Module Introduction
|
|
00:37 | |
|
Estimated Query Execution Plan
|
|
01:00 | |
|
Actual Query Execution Plan
|
|
00:55 | |
|
Capturing an Actual Plan
|
|
01:22 | |
|
Demo: Capturing an Actual Plan
|
|
02:22 | |
|
SQL Sentry Plan Explorer
|
|
01:00 | |
|
Demo: SQL Sentry Plan Explorer
|
|
02:00 | |
|
SQL Server 2012 Supplemental Information
|
|
01:37 | |
|
Demo: Inaccurate Cardinality Estimate Event Capture
|
|
02:50 | |
|
Demo: ConvertIssue Plan Attributes
|
|
02:03 | |
|
Demo: Row Count Statistics in sys.dm_exec_query_stats
|
|
03:57 | |
Query Plan Quality Patterns and Resolutions |
|
01:24:54 | |
|
Module Introduction
|
|
00:33 | |
|
Before Jumping In...
|
|
01:26 | |
|
Issue Prioritization
|
|
01:01 | |
|
Missing or Stale Statistics (1)
|
|
01:51 | |
|
Demo: Checking sys.databases
|
|
00:56 | |
|
Demo: Checking sys.stats and sp_helpstats
|
|
01:28 | |
|
Demo: Resolving NO_RECOMPUTE Issues
|
|
05:02 | |
|
Missing or Stale Statistics (2)
|
|
01:26 | |
|
Demo: Checking STATS_DATE
|
|
01:40 | |
|
Demo: Manual Statistics Updates
|
|
06:20 | |
|
Demo: Using Trace Flag 2371
|
|
05:52 | |
|
Sampling Issues
|
|
01:44 | |
|
Demo: Using DBCC SHOW_STATISTICS
|
|
03:05 | |
|
Demo: Using sys.dm_db_stats_properties
|
|
02:18 | |
|
Demo: Using FULLSCAN Manual Statistics Updates
|
|
03:59 | |
|
Demo: Creating Filtered Statistics
|
|
02:55 | |
|
Demo: Filtered Statistics Threshold Update Problem
|
|
04:35 | |
|
Hidden Column Correlation
|
|
01:16 | |
|
Demo: Hidden Column Correlation
|
|
07:39 | |
|
Comparison of Intra-Table Columns
|
|
00:55 | |
|
Demo: Comparison of Intra-Table Columns
|
|
01:21 | |
|
Table Variable Usage
|
|
00:48 | |
|
Demo: Table Variable Usage
|
|
02:02 | |
|
Scalar and MSTV UDFs
|
|
01:24 | |
|
Demo: MSTV UDFs
|
|
02:27 | |
|
Parameter Sniffing
|
|
01:39 | |
|
Demo: Parameter Sniffing
|
|
03:11 | |
|
Implicit Data Type Conversion Issues
|
|
01:10 | |
|
Complex Predicates
|
|
01:00 | |
|
Demo: Complex Predicates
|
|
02:11 | |
|
Query Complexity
|
|
02:06 | |
|
Demo: Query Complexity
|
|
02:44 | |
|
Hints
|
|
01:03 | |
|
Demo: Hints
|
|
02:46 | |
|
Distributed Queries
|
|
01:11 | |
|
Query Optimizer Bugs
|
|
00:56 | |
|
Course Summary
|
|
00:54 |
Course Introduction