The book is divided into four parts.
Part 1 covers some basics that are required to read the rest of the book.
- Chapter 1, Performance Problems, explains not only why it’s essential to approach performance problems at the right moment and in a methodological way, but also why understanding
business needs and problems is essential. It also describes the most common database-related design problems that lead to suboptimal performance.
- Chapter 2, Key Concepts, describes the operations carried out by the database engine when parsing and executing SQL statements and how to instrument application code and database calls. It also introduces some important terms that are frequently used in the book.
Part 2 explains how to approach performance problems in an environment that uses Oracle Database.
- Chapter 3, Analysis of Reproducible Problems, describes how to identify performance problems with the help of SQL trace and PL/SQL profilers.
- Chapter 4, Real-time Analysis of Irreproducible Problems, describes how to take advantage of information provided by dynamic performance views. Several tools and techniques
that can be used with them are also introduced.
- Chapter 5, Postmortem Analysis of Irreproducible Problems, describes how to analyze performance problems that happened in the past with the help of Automatic Workload Repository and Statspack.
Part 3 describes the component that is responsible for turning SQL statements into execution plans: the query optimizer.
- Chapter 6, Introducing the Query Optimizer, provides an overview of what the query optimizer does and how it does it.
- Chapters 7 and 8, System Statistics and Object Statistics, describe what system statistics and object statistics are, how to gather them, and why they are important for the query optimizer.
- Chapter 9, Configuring the Query Optimizer, covers a configuration road map that you can use to find a good configuration for the query optimizer.
- Chapter 10, Execution Plans, describes in detail how to obtain, interpret, and judge the efficiency of execution plans.
Part 4 shows which features are provided by Oracle Database to execute SQL statements efficiently.
- Chapter 11, SQL Optimization Techniques, describes the techniques provided by Oracle Database to influence the execution plans that are generated by the query optimizer.
- Chapter 12, Parsing, describes how to identify, solve, and work around performance problems caused by parsing.
- Chapter 13, Optimizing Data Access, describes the methods available to access data and how to choose between them.
- Chapter 14, Optimizing Joins, discusses how to join several sets of data together efficiently.
- Chapter 15, Beyond Data Access and Join Optimization, describes advanced optimization techniques such as parallel processing, materialized views, and result caching.
- Chapter 16, Optimizing the Physical Design, explains why it’s important to optimize the physical design of a database.