Skip to content

Personal tools
You are here: Home » Oracle » Oracle Articles Archive » Simply the Best: Review of Jonathan Lewis’s New Book, Cost-Based Oracle Fundamentals
Seeking new owner for this high-traffic site.
Tap into the potential of this DBA community to expand your business! Interested? Contact us today.
Who Are You?
I am a:
Mainframe True Believer
Distributed Fast-tracker

[ Results | Polls ]
Votes : 4632

Simply the Best: Review of Jonathan Lewis’s New Book, Cost-Based Oracle Fundamentals

by Christopher Foot

Readers of my blog know that I have been involved in some facet of Oracle education for 20 years now. I’ve taught classes in both DB2 and Oracle, and have worked for several education providers during that time. In 1999, Oracle allowed me to begin certifying my fellow instructors, and I was very proud to have the title, “trainer of trainers.” The greatest accomplishment in my career came was when I was awarded the OAEC Quality Achievement Award.

I began this book review with a brief history of my background, not because I am trying to impress you with my expertise in Oracle education, but to let you know that during those 20 years, I have come across my fair share of books, manuals, course study guides, exam preps, whitepapers, articles, blogs the works.

As I stated in my review of Tom Kyte’s latest book, during my years as an Oracle educator, I kept every Oracle book, manual, and instructor’s guide I encountered. Some people collect stamps. I collect books.

I just completed reading Cost-Based Oracle Fundamentals by Jonathan Lewis, and I can definitely say of this book, “It’s a keeper!” Actually, describing it as “a keeper” does it an injustice, as this is one of the most educational and informative books I have ever read on the cost-based optimizer. Readers of my blog know that I just published a glowing review of Tom Kyte’s latest offering, titled Expert Oracle Database Architecture 9i and 10g Programming Techniques and Solutions. I really hate to “gush” twice in a row on book reviews, but the enthusiasm’s justified in both cases. Tom Kyte’s and Jonathan Lewis’s books are simply excellent.

I received Cost-Based Oracle Fundamentals a few weeks ago in the mail, and as I do with all new books, I sat down and started leafing through the pages. I’ll tell you upfront that there have been times when leafing through a new book is as much as I’ve done; like most of us these days, I don’t have a lot of spare time, so I don’t’ want to waste what precious free time I have. If I can tell, early on, that a book isn’t going to teach me something new, I’ll spend my time reading books that will do so.

But as I was leafing through Cost-Based Oracle Fundamentals, I found myself having thoughts like, “I never knew it worked that way,” “So that is how the optimizer does it,” and, most often, “How the heck does he know this?!?” I made a mental note that this book should not merely be read, it should be studied … and not just studied once, but studied again and again, until one firmly grasps the information it covers.

Demanding Substance and Style

Any time an author writes about something as complex as the optimizer, s/he must make every attempt to simplify the concepts presented. When I spend my money on a book, I want as clear an explanation as possible of the complex and highly technical concepts it covers. After all, that’s the way I approached my career as an Oracle instructor: People paid me to teach them, and I made every effort to ensure that they got their money’s worth. My classes were described as an Oracle boot camp (often called “Foot Camp” by my students). Why should I expect anything less from an author?

I’m glad to say that Jonathan Lewis’s new book met all of my expectations. As in Kyte’s book, Lewis’s method of simplifying complex technical concepts is to use a snippet of code as an example. I used code examples religiously during my career as an Oracle instructor. I maintained a personal library of examples for each class I taught, and I know that this method works. As an added bonus, Lewis makes the sample scripts available for download from his Web site.

Jonathan Lewis also does an excellent job of explaining how he came to his conclusions on how the optimizer works. Some readers may not be interested in how he proves his theories, but I am interested in the background supporting information because it teaches me more about the topic being discussed. Understanding how he came to his conclusions helped me to learn. This may be because I am already well versed at persuading the optimizer to do what I want (most of the time), but at this point in my career, I want to learn more about the optimizer itself.

Lewis states in the forward of Cost-Based Oracle Fundamentals that when he signs books for people, he often writes, “Just because its printed, doesn’t mean its true.” He also is unafraid to state that with the myriad of configuration combinations, your results may not exactly match his. I find this to be a very refreshing couple of statements for an author to make.

Great Layout, Fantastic Content

I have come to expect that all books published by Apress, including Cost-Based Oracle Fundamentals, have excellent layout and design in common. Books from Apress are also well organized and have both an extensive table of contents and index.

In terms of content, Cost-Based Oracle Fundamentals is also top quality. This is not a book on how to administer Oracle; it is an educational textbook on understanding the most complex facet of an Oracle database environment, the optimizer. To obtain the most benefit from reading Cost-Based Oracle Fundamentals, you should carve out some quiet time to ensure that you thoroughly digest and understand the material presented. You can’t breeze through this book; you need to study it.

Just to give you a taste of the depth of this book, here’s a snapshot of what the first five chapters cover:

Chapter 1: This section explains the different meanings of “cost” and how they are used in the book, then provides a short, but informative discussion on transformation and costing. It also provides some general information on the Oracle optimizer.

Chapter 2: This chapter highlights two of my favorite Oracle topics, tablescans and index fast full scans. Lewis discusses how and why they happen, and also describes how he creates a stable test environment, including the creation of test data, when he wants to investigate how the optimizer works.

Chapter 3: This section is all about single table selectivity: How many rows will that simple query return? Cardinality is discussed, as well as in-lists, range predicates, and multiple predicates.

Chapter 4: A B-Tree index discussion comprises this chapter. This is a must-read chapter for anyone who really wants to know how B-Tree indexes work and how the optimizer decides to use them.

Chapter 5: Clustering factor is the focus of chapter 5. Clustering is a topic that is rarely discussed, so this section taught me a great deal about clustering’s impact on the optimizer. DBAs who also work in DB2 (where clustering is very important) should easily understand the concepts here.

Have I caught your interest yet? And I haven’t even mentioned Lewis’s discussion of topics like selectivity, histograms, bitmap indexes, query transformation, and more. If that wasn’t enough to help everyone learn how to deal with the Oracle database a lot more effectively, Cost-Based Oracle Fundamentals also includes a couple of very helpful appendixes, titled “Upgrade Headaches” and “Optimizer Parameters.”


Cost-Based Oracle Fundamentals is simply one of the best books I have read on the Oracle optimizer. Jonathan Lewis’s detailed explanations provided me with the information I needed to more fully understand why the optimizer works the way it does. The author’s background is in mathematics, and it shows, in the scientific way he approaches his investigations. And maybe the most fundamental lesson that the book teaches us is that the optimizer is not infallible, and we have to take that fact into consideration when working with it.

Cost-based Oracle Fundamentals is the first book in a series of three. I’ll be impatiently waiting for the other two to become available.


Christopher Foot has been involved in database management for over 18 years, serving as a database administrator, database architect, trainer, speaker, and writer. Currently, Chris is employed as a Senior Database Architect at RemoteDBA Experts, a remote database services provider. Chris is the author of over forty articles for a variety of magazines and is a frequent lecturer on the database circuit having given over a dozen speeches to local, national and international Oracle User Groups. His book titled OCP Instructors Guide for DBA Certification, can be found at

Contributors : Christopher Foot
Last modified 2006-03-21 09:50 AM
Transaction Management
Reduce downtime and increase repeat sales by improving end-user experience.
Free White Paper
Database Recovery
Feeling the increased demands on data protection and storage requirements?
Download Free Report!

Powered by Plone