The book provides comprehensive coverage of database performance tuning and optimization using Oracle 8i as the RDBMS. The chapters contain both theoretical discussions dealing with principles and methodology as well as actual SQL scripts to implement the methodology. The book combines theory with practice so as to make it useful for DBAs and developers irrespective of whether they use Oracle 8i. Readers who do not use Oracle 8i can implement the principles via scripts of their own written for the particular RDBMS they use. I have tested each script for accuracy and have included the sample outputs generated from them.
An operational database has three levels: conceptual, internal, and external. The conceptual level results from data modeling and logical database design. When it is implemented via an RDBMS such as Oracle, it is mapped onto the internal level. Database objects of the conceptual level are associated with their physical counterparts in the internal level. An external level results from a query against the database and, as such, provides a window to the database. There are many external levels for a single conceptual level.
The performance of an OLTP database is measured by the response times of the database transactions. The response time depends on the efficiency of all three levels. A query on a well-designed conceptual level can run slowly if the SQL formulation of the query is poorly done, or if the database objects involved in the query are fragmented, or if a table used by the query has excessive chaining. Likewise, a well-formulated query can run slowly if the design of the conceptual level is bad. Such examples abound in database applications. The book addresses each level separately by focusing first on the underlying principles and root causes of problems and then offering solutions, both on a theoretical level and with Oracle SQL scripts with sample outputs.