I was a little bit puzzled when I got this book: who is the author? There are 15 of them! After reading it, I now believe it is a very good idea to combine knowledge from multiple experts into a single book, especially for a technical book. I would like to see more of these kinds of books coming.
The writers of this book are all very active in the Oracle community, most are authors, Oracle ACE, members of the OakTable network, etc. I actually met a few of them at seminars and user group activities. One of them, Arup Nanda, was once my RAC class instructor, and I've always been impressed by his ability to explain complicated issues in a simple and interesting way. In this book, he discussed dependencies and invalidations with the same clear logic.
The book has 15 chapters, with each author contributing one. Every chapter has a brief summary. Almost all of them go deeply into the topic using very good sample codes, traces, and tkprof output to prove their points.
You may read it as a book focusing on the newest and most powerful PL/SQL features, or you can treat it as 15 top level technical articles - each concentrates on a specific PL/SQL field and digs deeply into it. You'll learn the best practices from their expertise; real experiences and lessons. You can also gain lots of TTTs: Tips, Tricks and Traps to avoid. Many new data dictionary views mentioned by the authors are also very useful.
Based on the needs of my current work, I went through some chapters in close detail, and browsed others for future reference. The book touches the most recent Oracle version, including many new features of 11gR2.
This book is not for beginners. You will need some PL/SQL background to start with. I've been working with PL/SQL since version 6, but in the past few years, I've used more SQL than PL/SQL. By reading this book, I've realized how much more powerful PL/SQL is now than in the past. As new features come, we will have to keep learning. Often difficult tasks can become much easier if you learn the new ways rather than stick with what's familiar.
The order of the chapters does not matter. You can pick up any topic and start reading. Some similar issues are addressed by multiple authors, with each expert offering a different perspective on the problem.
I'd group the chapters into 3 main topics:
PART 1: What To Do And What Not To Do (Chapters 1, 2, 9,10, 12)
These chapters discuss when and when not to use PL/SQL from functional and performance points of view. They also discuss the differences between SQL and PL/SQL engines, the dynamic PL/SQL programming and its pros and cons, the different types of cursors and their usage, etc. Data modeling is not only important at the design stage but is also an evolutionary process.
PART 2: How To Do It Right (Chapters 5,7,8.11,14)
These chapters discuss coding standards and conventions, unit testing, best practices, etc. These are critical factors for successful application development, especially when you have a large group of developers working on a very complex application. Like Chapter 7 says, good developers need to `know your code' and to make your code simple, well organized, well documented, effective and efficient.
PART 3: How to Do More and Better (chapters 3, 4, 6, 13,15)
These chapters discuss more specific topics, including parallel processing, conditional compilations, bulk operations, methods to identify and measure performance issues as well as methods to shorten dependency chains and reducing cascading invalidations.
Chapter 6 is one of my favorate topics. Bulk operation is a very useful but underused feature. This chapter demonstrates the huge performance benefit you can get using bulk processing. The author also provides methods and solutions to find and handle the pitfalls of using bulk processing. The examples are interesting and the results are persuasive.
My coworker saw this book and agreed it is very good. I strongly recommend it to Oracle developers and DBAs.
I received a hard copy of this book. To me the line spacing is rather small for text, but the sample codes look fine.