|
SQL Tuning
A poorly performing database application not only costs
users time, but also has an impact on other applications
running on the same computer or the same network. SQL Tuning
provides an essential next step for SQL developers and
database administrators who want to extend their SQL tuning
expertise and get the most from their
database applications.
There are two basic issues to focus on when tuning SQL: how
to find and interpret the execution plan of an SQL statement
and how to change SQL to get a specific alternate execution
plan. SQL Tuning provides answers to these questions and
addresses a third issue that's even more important: how to
find the optimal execution plan for the query to use.
Author Dan Tow outlines a timesaving method he's developed
for finding the optimum execution plan--rapidly and
systematically--regardless of the complexity of the SQL or
the database platform being used. You'll learn how to
understand and control SQL execution plans and how to
diagram SQL queries to deduce the best execution plan for a
query. Key chapters in the book include exercises to
reinforce the concepts you've learned. SQL Tuning concludes
by addressing special concerns and unique solutions to
"unsolvable problems."
Whether you are a programmer who develops SQL-based
applications or a database administrator or other who
troubleshoots poorly tuned applications, SQL Tuning will arm
you with a reliable and deterministic method for tuning your
SQL queries to gain optimal performance.
Foreword
Preface
1. Introduction
Why Tune SQL?
Who Should Tune SQL?
How This Book Can Help
A Bonus
Outside-the-Box Solutions
2. Data-Access Basics
Caching in the Database
Tables
Indexes
Uncommon Database Objects
Single-Table Access Paths
Calculating Selectivity
Joins
3. Viewing and Interpreting Execution Plans
Reading Oracle Execution Plans
Reading DB2 Execution Plans
Reading SQL Server Execution Plans
4. Controlling Execution Plans
Universal Techniques for Controlling Plans
Controlling Plans on Oracle
Controlling Plans on DB2
Controlling Plans on SQL Server
5. Diagramming Simple SQL Queries
Why a New Method?
Full Query Diagrams
Interpreting Query Diagrams
Simplified Query Diagrams
Exercises
6. Deducing the Best Execution Plan
Robust Execution Plans
Standard Heuristic Join Order
Simple Examples
A Special Case
A Complex Example
Special Rules for Special Cases
Exercise
7. Diagramming and Tuning Complex SQL Queries
Abnormal Join Diagrams
Queries with Subqueries
Queries with Views
Queries with Set Operations
Exercise
8. Why the Diagramming Method Works
The Case for Nested Loops
Choosing the Driving Table
Choosing the Next Table to Join
Summary
9. Special Cases
Outer Joins
Merged Join and Filter Indexes
Missing Indexes
Unfiltered Joins
Unsolvable Problems
10. Outside-the-Box Solutions to Seemingly Unsolvable Problems
When Very Fast Is Not Fast Enough
Queries that Return Data from Too Many Rows
Tuned Queries that Return Few Rows, Slowly
A. Exercise Solutions
B. The Full Process, End to End
Glossary
Index
|