Several people asked me how much I changed in the second edition. The short answer is… A LOT.

The main goals set for the revision of the book were the following:

  • Add content about Oracle Database 11g Release 2 and Oracle Database 12c Release 1.
  • Remove content about Oracle9i and Oracle Database 10g Release 1.
  • Add content that was “missing” in the first edition (for example, features like hierarchical profiler, active session history, AWR and Statspack).
  • Add information about PHP in the parts that cover features that are specific to programming languages.
  • Reorganize part of the material for better readability. For example, splitting the chapter about system and object statistics in two.
  • Fix errata and generally enhance the text.

To provide you a visual picture about the changes, with Word I did a diff on the text before and after the editing. Here are the resulting pictures… (note that changes are in red and movements are in green)

  1. Performance Problems:
  2. Chapter 1

  3. Key Concepts:
  4. Chapter 2

  5. Analysis of Reproducible Problems:
  6. Chapter 3

  7. Real-Time Analysis of Irreproducible Problems: this is a completely new chapter
  8. Postmortem Analysis of Irreproducible Problems: this is a completely new chapter
  9. Introducing the Query Optimizer: this is a completely new chapter
  10. System Statistics:
  11. Chapter 7

  12. Object Statistics:
  13. Chapter 8

  14. Configuring the Query Optimizer:
  15. Chapter 9

  16. Execution Plans:
  17. Chapter 10

  18. SQL Tuning Techniques:
  19. Chapter 11

  20. Parsing:
  21. Chapter 12

  22. Optimizing Data Access:
  23. Chapter 13

  24. Optimizing Joins:
  25. Chapter 14

  26. Beyond Data Access and Join Optimization:
  27. Chapter 15

  28. Optimizing the Physical Design:
  29. Chapter 16

Happy reading!