Linked e-resources
Details
Table of Contents
Intro
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Query Performance Tuning
The Query Performance Tuning Process
Performance Issues
A Repetitive Process
Understanding What Defines "Good Enough"
Establishing Comparison Points
Most Likely Performance Issues
Common Performance Issues
Insufficient or Poor Indexes
Inaccurate or Missing Statistics
Bad T-SQL
Problematic Execution Plans
Excessive Blocking
Deadlocks
Non-Set-Based Operations
Incorrect Database Design
Poor Execution Plan Reuse
Frequent Recompilation of Queries
Summary
Chapter 2: Execution Plan Generation and the Query Optimizer
The Query Optimization Process
Optimization Preparation
Parsing
Binding
Optimization
Simplification
Trivial Plan Match
Optimization Phases
Generating Parallel Execution Plans
Execution Plan Caching
Aging of the Execution Plan
Summary
Chapter 3: Methods for Capturing Query Performance Metrics
Methods to Capture Query Performance Metrics
Include Client Statistics
Connection Properties
SET STATISTICS TIME/IO
QueryTimeStats in the Execution Plan
Trace Events (Profiler)
Dynamic Management Views
Actively Executing Queries
Previously Executed Queries
Query Store
Extended Events
Creating an Extended Events Session
Adding and Configuring Events
Adding Global Fields to Events
Using Predicates with Events
Optional Event Fields
Defining Targets
Using the event_file Target
Using the histogram Target
Working with Sessions
Adding Causality Tracking
Scripting Extended Events
Live Data Explorer Window
Filtering Live Data
Aggregating Live Data
General Recommendations for Using Extended Events
Set Max File Size Appropriately
Avoid Debug Events
Avoid the Use of No_Event_Loss
Summary
Chapter 4: Analyzing Query Behavior Using Execution Plans
Estimated vs. Actual Execution Plans
Capturing Execution Plans
SQL Server Management Studio
Dynamic Management Views
Query Store
Extended Events
What Is Inside an Execution Plan
Reading an Execution Plan
What Do You Look for in an Execution Plan?
First Operator
Warnings
Most Costly Operations
Fat Pipes
Extra Operators
Scans
Estimate vs. Actual
After the Guideposts
Tools That Assist You with Execution Plans
SQL Server Management Studio
Find Node
Compare Plans
Live Query Statistics
Third Party
Solar Winds Plan Explorer
Supratimas
Paste The Plan
Summary
Chapter 5: Statistics, Data Distribution, and Cardinality
Statistics in the Query Optimization Process
Statistics on Rowstore Indexed Columns
Benefits of Updated Statistics
Drawbacks of Outdated Statistics
Statistics on Nonindexed Columns
Benefits of Statistics on a Nonindexed Column
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Query Performance Tuning
The Query Performance Tuning Process
Performance Issues
A Repetitive Process
Understanding What Defines "Good Enough"
Establishing Comparison Points
Most Likely Performance Issues
Common Performance Issues
Insufficient or Poor Indexes
Inaccurate or Missing Statistics
Bad T-SQL
Problematic Execution Plans
Excessive Blocking
Deadlocks
Non-Set-Based Operations
Incorrect Database Design
Poor Execution Plan Reuse
Frequent Recompilation of Queries
Summary
Chapter 2: Execution Plan Generation and the Query Optimizer
The Query Optimization Process
Optimization Preparation
Parsing
Binding
Optimization
Simplification
Trivial Plan Match
Optimization Phases
Generating Parallel Execution Plans
Execution Plan Caching
Aging of the Execution Plan
Summary
Chapter 3: Methods for Capturing Query Performance Metrics
Methods to Capture Query Performance Metrics
Include Client Statistics
Connection Properties
SET STATISTICS TIME/IO
QueryTimeStats in the Execution Plan
Trace Events (Profiler)
Dynamic Management Views
Actively Executing Queries
Previously Executed Queries
Query Store
Extended Events
Creating an Extended Events Session
Adding and Configuring Events
Adding Global Fields to Events
Using Predicates with Events
Optional Event Fields
Defining Targets
Using the event_file Target
Using the histogram Target
Working with Sessions
Adding Causality Tracking
Scripting Extended Events
Live Data Explorer Window
Filtering Live Data
Aggregating Live Data
General Recommendations for Using Extended Events
Set Max File Size Appropriately
Avoid Debug Events
Avoid the Use of No_Event_Loss
Summary
Chapter 4: Analyzing Query Behavior Using Execution Plans
Estimated vs. Actual Execution Plans
Capturing Execution Plans
SQL Server Management Studio
Dynamic Management Views
Query Store
Extended Events
What Is Inside an Execution Plan
Reading an Execution Plan
What Do You Look for in an Execution Plan?
First Operator
Warnings
Most Costly Operations
Fat Pipes
Extra Operators
Scans
Estimate vs. Actual
After the Guideposts
Tools That Assist You with Execution Plans
SQL Server Management Studio
Find Node
Compare Plans
Live Query Statistics
Third Party
Solar Winds Plan Explorer
Supratimas
Paste The Plan
Summary
Chapter 5: Statistics, Data Distribution, and Cardinality
Statistics in the Query Optimization Process
Statistics on Rowstore Indexed Columns
Benefits of Updated Statistics
Drawbacks of Outdated Statistics
Statistics on Nonindexed Columns
Benefits of Statistics on a Nonindexed Column