In 1990, when Ken Jacobs hosted the RDBMS campground talks at the Anaheim International Oracle User Week appreciation event, one of the topic areas was whether we (some users representing the Very Large DataBases VLDB of the Oracle world which meant anything north of about 7 GB back then) thought that the rule based optimizer (RBO) was good enough, or whether we needed a cost based optimizer (CBO) for the real applications we were running at enterprise scale to work well. “Oracle’s optimizer is like Mary Poppins. It’s practically perfect in every way. But we do have some cases where it would be helpful for the optimizer to consider the relative sizes of tables and whether a table was local or remote when the plan for joining and filtering is constructed. And some of the tie breakers for which table should go first and which index should be used when two indexes with similar characteristics are present can change, so we would like to be able to specify them for important plans.” Fast forward 22 years. Now there is a bumpersticker slogan contest for Oracle’s CBO. To enter you fire off a tweet with the hashtag #optimizerbumperstickers. Now I’ve always thought that the goal of the CBO is good plans, not perfect stats (or even perfect plans). So in bumper sticker size, my entry is “The goal is good plans!”
#optimizerbumperstickers Oracle VLDB Mary Poppins and me
This entry was posted in Oracle, Thinking Clearly and tagged CBO, Mary Poppins, Oracle, RBO, VLDB. Bookmark the permalink.
Pingback: Log Buffer #271, A Carnival of the Vanities for DBAs | The Pythian Blog