Use of Scripts (22nd Nov 2005)
Early Days (4th Nov 2005)
Typo (22nd Nov 2005)
I’ve had a note from Manoj Kumar highlighting a problem with running two of my test scripts one after the other. This has led me to write a short readme.txt for the Code Depot pointing out that in most cases, each test should be run from a newly created session. There are a few exceptions to this guideline, but they should be documented in the code.
In the foreword to the book Tom Kyte notes that my posts to the Usenet newgroups span 11 years. This was such a surprise that I started to look for some of my oldest posts to see what I had to say in my earlier life, and I found the following dated 20th April 1995:
My theory, aired publicly so that it can be shot at:
The prime directive for the Cost Based Optimiser is to minimise the number of actual visits to disk as these are the slowest thing around/
The CBO estimates from the gathered statistics the total number of blocks it will have to hit to satisfy the query (NB this is not the same as the number of logical I/Os, as it will use the cluster factor to cater for multiple relevant rows being in a single block).
The CBO assumes that every block required will have to be fetched from disc and does not take into account the historic hit-rate to determine a more realistic number of visits to disk.
The oral history tells us that visiting a disk for a single block takes the same amount of time as visiting a disk to pick up a number of consecutive blocks.
It’s only taken be about 10 years to get around to writing the book that makes pretty much the same points. (Although CPU costing finally addresses Assumption 4). The current version of Oracle at that time was 7.1.x.
Page xxiv, paragraph 4: you will find a reference to “the CD”. I could suggest that this was a deliberate abbreviation for Code Depot, but it wouldn’t be true. Initially I had planned to have a CD distributed with the book; but in the end the CD would have delayed the publication for no great reason, and having the scripts on-line allows me to update them from time to time.