Structure

The book is divided into five 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 is essential to approach performance problems at the right moment and in a methodological way, but also why understanding business needs and problems is essential.
  • Chapter 2, Key Concepts, describes the operations carried out by the database engine when parsing and executing SQL statements. It also introduces some terms that are frequently used in the book.

Part 2 explains how to approach performance problems in an environment that is based on the Oracle database engine.

  • Chapter 3, Identifying Performance Problems, provides a detailed analysis road map for identifying performance problems. Several tools and techniques that can be used with it are also described.

Part 3 describes the component which is responsible for turning SQL statements into execution plans: the query optimizer.

  • Chapter 4, System and Object Statistics, describes what system statistics and object statistics are, how to gather them, and why they are important for the query optimizer.
  • Chapter 5, Configuring the Query Optimizer, covers a configuration road map that you can use to find a good configuration for the query optimizer.
  • Chapter 6, Execution Plans, describes in detail how to obtain, interpret and judge the efficiency of execution plans.
  • Chapter 7, SQL Tuning Techniques, discusses the SQL tuning techniques that are available with the Oracle database engine.

Part 4 shows which features are provided by the Oracle database engine to execute SQL statements efficiently.

  • Chapter 8, Parsing, describes how SQL statements are parsed and how to identify, solve, and work around parsing problems.
  • Chapter 9, Optimizing Data Access, describes the methods available to access data and how to choose between them.
  • Chapter 10, Optimizing Joins, discusses how to join several sets of data together efficiently.
  • Chapter 11, Beyond Data Access and Join Optimization, describes advanced optimization techniques such as parallel processing and materialized views.
  • Chapter 12, Optimizing the Physical Design, explains why it is important to optimize the physical design of a database.

Part 5 provides a list of the files used through the book as examples. In addition, a bibliography, containing the sources I used while writing the book, is also provided.