Oracle SQL Performance Tuning and Optimization: It's all about the Cardinalities
Written by a Senior Database Administrator who has worked with the Oracle RDBMS for thirty years, this is a book which teaches the skill of SQL Tuning for the Oracle Database. Not a list of one-off tricks or tips, nor a glossing over of topics; this book offers an in-depth process covering discovery, analysis, and problem resolution. Learn the science behind SQL Tuning.
- Learn and apply the FILTERED ROWS PERCENTAGE Cardinality based method of tuning
- Determine a query's Driving Table and Join Order
- Construct Query Diagrams, Data Models, and Join Trees
- Build and use Count / Filter / and Reconstruction Queries
- Identify Waste in a Query Execution Plan
- Zero in on Cardinality Divergence using Estimated vs. Actuals
- Use the ACCESS / FILTER / COVERAGE strategy to build indexes for Problem Queries
- Exploit THE 2% RULE in analyzing Access method and Join method
- Classify queries as Precision Style or Warehouse Style
- Understand Hash Join mechanics and make Hash Joins go faster
- Make HINTS work as Detection Tools rather than clubs
- Avoid early Database Design flaws
- Manage Statistics and deal with common Statistics problems
- (NDV, Uniform Distribution, Independence, Dynamic Sampling)
- (Staleness, Skew, Dependence, Defaulting, Out-Of-Bounds, Transiency, Bloat)
- Perfect your Question Based Analyis Technique
- and more
Included are: a special chapter for EXADATA, a LAB which demonstrates the cardinality based process of SQL Tuning, and twenty three magical SQL scripts that make the process of SQL Tuning easy to do. Learn the skill of SQL Tuning as taught by an expert who does it for a living, and become the go-to specialist in your company.
- Chapter 1: DRIVING TABLE and JOIN ORDER
- Chapter 2: Ways to Use a Query Execution Plan
- Chapter 3: The Best Indexes for a Query
- Chapter 4: JOINS
- Chapter 5: HINTS
- Chapter 6: BASICS
- Chapter 7: ROW COUNTS and RUN TIMES
- Chapter 8: EXADATA
- LAB: Reverse Engineering the QEP
- Appendix: Know Your Scripts
- Scripts for analyzing queries and plans
- Scripts for examining an active database
- Scripts for looking at metadata
- showplan
- showplanshort
- showplanconstraints
- showplancountqueries
- showplandatamodel
- showplandrivingtable
- showplanfilterqueries
- showplanfrpspreadsheetcode
- showplanindexes
- showplannumrows
- showplanquerydiagram
- showplantables
- showplantablesunique
- loadplanfromcache
- loadplanfromhist
- showtopcpu
- showowner
- showindexes
- showconstraints
- showcolstats
- showhistograms
- showallscanrates
- showallworkareas
It’s all about the Cardinalities