What do you do when your application isn’t running fast enough? You troubleshoot, of course. Finding the slow part of an application is often the easiest part of the battle. The difficult part is finding a solution or, even better, avoiding the performance problem in the first place. Troubleshooting Oracle Performance helps by providing a systematic approach to addressing the underlying causes of poor performance of applications based on the Oracle database engine.
Over the last decade I have spent a great deal of my time troubleshooting performance problems. In writing this book, I hope to do three things: first, and most importantly, to share my experience in this area with you; second, to show a methodical approach that avoids guesswork and helps you determine beyond any doubt where the slow part of an application is; third, to explain how the database engine processes SQL statements and show what features are available to ensure that SQL execution remains efficient.
What you’ll learn
This book shows you how to do the following:
- Identify performance problems using a systematic and repeatable approach.
- Configure the query optimizer to meet your application performance goals.
- Obtain and interpret execution plans as well as assess whether they are inefficient.
- Apply SQL tuning techniques such as hints, SQL profiles, stored outlines and SQL plan baselines.
- Minimize the impact of parsing without jeopardizing performance.
- Optimize data access, joins and the physical design.
- Improve performance through parallel processing, materialized views, and result caching.
This book is intended for performance analysts, application developers and database administrators who are involved in troubleshooting performance problems of applications based on the Oracle database engine.
No specific knowledge in optimization is required. However, readers are expected to have a working knowledge of the Oracle database engine and to be proficient with SQL. Some sections of the book cover features that are specific to programming languages such as PL/SQL, Java, C# and C. These features are covered only to provide to a wide range of application developers with specific information about the programming language they are using. You can pick out the ones you are using or interested in and skip the others.
Which versions are covered?
The most important concepts covered in this book are independent of the Oracle database engine version you are using. It is inevitable, however, that when details about the implementation or provided features are discussed, that some information is version specific. This book explicitly discusses the versions currently available from Oracle9i Release 2 to Oracle Database 11g Release 1.