Title: Effective Oracle by Design – Design and Build High-Performance Oracle Applications
Author: Thomas Kyte
Published by: Oracle Press
ISBN: 0-07-223065-7
Publication Date: 2003
Details: 664 pages, $59.99; www.OraclePressBooks.com
I recently read this nice book written by Thomas Kyte. In this book Kyte addresses a lot of different design issues that should be made by developers and DBA in order to create a well performant system.
Some of the issues Tom adresses are:
- Statement processing and bind variables
- The Cost based optimizer
- Effective schema design
- Effective SQL and PL/SQL
- and many many more
The strong point about this book is that every topic, every issue is explained with very good examples. Tom uses TKPROF, Explain plan etc to show the effects of certain design issues. So at the end of this book you should be able to know how these performance tuning tools work.
The reader of this book could be an Oracle developer, but even more an Oracle DBA. It doesn’t matter which one of the two you are; als long as you are experienced. This book is not written for beginners. The pace is high and Tom doesn’t explain things at a Novice level.
I think this book comes very handy for every Oracle Developer wishing to know more about good performant application design. My overall conclusion was: “Leave it to the Database”. We (developers) tend to use all kind of tricks we know from the past, hoping to make things faster. The new Oracle 9 and 10 databases do these tricks better than we do; that should be your starting point.
AMIS has bought more than 30 copies of this book and makes frequent use of it. It is also the background literature handed out to students on the Oracle 7Up Workshops (see: Oracle 7Up Workshop Description – in Dutch).
One comment: I was surprised to see Tom Kyte did not discuss Table Functions in this book, althought it seems like he talks about almost all database features of importance. From a recent column by him in Oracle Magazine – see: On Partitioning and Pipelining, November/December 2004 – it almost seems like Table Functions (or Pipelined Functions as he calls them, which is not the same thing as Table Functions do not need to be pipelined) somehow escaped his notice until quite recently??
I have heard rumors that there might be a new edition of this book – that would probably discuss 10g as well as 9i. That would be an interesting read.