Errata

SQL Tuning

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page xiii
top

The seaman's story is of tempest, the plowman's of his team of bull'; the soldier
tells of his wounds, the shepherd his tail of sheep.
should be:
The seaman's story is of tempest, the plowman's of his team of bull'; the soldier
tells of his wounds, the shepherd his tale of sheep.
^^^^

Anonymous    Apr 01, 2008
Printed
Page p277
The first paragraph, last sentence.

The first reference to 'D2' should be 'D1' instead. E.g. the text should read:
'Nested loops to D1 read 1,008 rows of that table..'.

Because, we finished with D2 in the previous sentence.

(Safari 8.2) 3rd paragraph, 3rd bullet;
'All the other tables are also master tables and appear to be joined indirectly to M, tHRough
intermediate joins.'

should read

'All the other tables are also master tables and appear to be joined indirectly to M, through
intermediate joins.'

Anonymous    Apr 01, 2008
Other Digital Version
xiii
top

The seaman's story is of tempest, the plowman's of his team of bull'; the soldier
tells of his wounds, the shepherd his tail of sheep.
should be:
The seaman's story is of tempest, the plowman's of his team of bull'; the soldier
tells of his wounds, the shepherd his tale of sheep.
^^^^

Anonymous    Jul 01, 2008
Other Digital Version
p277
The first paragraph, last sentence.

The first reference to 'D2' should be 'D1' instead. E.g. the text should read:
'Nested loops to D1 read 1,008 rows of that table..'.

Because, we finished with D2 in the previous sentence.

Anonymous    Jul 01, 2008
Printed
Page 2
Third paragraph from the bottom

The period at the end of the third paragraph from the bottom, after the word "around," is missing.

Anonymous    Apr 01, 2008
Other Digital Version
2
Third paragraph from the bottom

The period at the end of the third paragraph from the bottom, after the word "around," is missing.

Anonymous    Jul 01, 2008
Printed
Page 10
3rd paragraph, line 3

"Frequently, touched blocks are defined to be hot, while rarely touched blocks are cold."
Should say:
"Frequently touched blocks are defined to be hot, while rarely touched blocks are cold."

Anonymous    Apr 01, 2008
Other Digital Version
10
3rd paragraph, line 3

"Frequently, touched blocks are defined to be hot, while rarely touched blocks are cold."
Should say:
"Frequently touched blocks are defined to be hot, while rarely touched blocks are cold."

Anonymous    Jul 01, 2008
Printed
Page 22
3rd paragraph, 3rd sentence,

"turns out to matter less that you might expect"
should be:
"turns out to matter less than you might expect"

Anonymous    Apr 01, 2008
Other Digital Version
22
3rd paragraph, 3rd sentence,

"turns out to matter less that you might expect"
should be:
"turns out to matter less than you might expect"

Anonymous    Jul 01, 2008
Printed
Page 30
Second code example

The first line of the SELECT statement reads:

"SELECT SUM(COUNT(LastName)*COUNT(Last_Name))/"

Should the first occurrance of LastName be Last_Name?

Anonymous    Apr 01, 2008
Other Digital Version
30
Second code example

The first line of the SELECT statement reads:

"SELECT SUM(COUNT(LastName)*COUNT(Last_Name))/"

Should the first occurrance of LastName be Last_Name?

Anonymous    Jul 01, 2008
Printed
Page 34
First line after the bullet list

"Fortunately, none of these reasons prevents the database..."
should say:
"Fortunately, none of these reasons prevent the database..."

Anonymous    Apr 01, 2008
Other Digital Version
34
First line after the bullet list

"Fortunately, none of these reasons prevents the database..."
should say:
"Fortunately, none of these reasons prevent the database..."

Anonymous    Jul 01, 2008
Printed
Page 35
2nd line

"(8600/20) leaf blocks."

should be

"(8600/200) leaf blocks."

Anonymous    Apr 01, 2008
Other Digital Version
35
2nd line

"(8600/20) leaf blocks."

should be

"(8600/200) leaf blocks."

Anonymous    Jul 01, 2008
Printed
Page 77
5th paragraph beginning with "All databases have..."

... evaluates to the first argument when the argument is null and otherwise ...
should be:
... evaluates to the first argument when the argument is not null and otherwise ...

Anonymous    Apr 01, 2008
Other Digital Version
77
5th paragraph beginning with "All databases have..."

... evaluates to the first argument when the argument is null and otherwise ...
should be:
... evaluates to the first argument when the argument is not null and otherwise ...

Anonymous    Jul 01, 2008
Printed
Page 86
2nd bullet point

'Function-based indexes in a table referenced in the SQL, if such and index is on an expression the SQL
references.'

should read

'Function-based indexes in a table referenced in the SQL, if such an index is on an expression the SQL
references.'

Anonymous    Apr 01, 2008
Other Digital Version
86
2nd bullet point

'Function-based indexes in a table referenced in the SQL, if such and index is on an expression the SQL
references.'

should read

'Function-based indexes in a table referenced in the SQL, if such an index is on an expression the SQL
references.'

Anonymous    Jul 01, 2008
Printed
Page 87
Last SQL statement in box

The last SQL statement in the box checks against a number, but it should check against a character
string.

SELECT index_name FROM ALL_INDEXES WHERE degree != 1;
should read:
SELECT index_name FROM ALL_INDEXES WHERE degree != '1';

(Safari 5.2.5) after Sidebar 1;
'For Example 5-1, you would perform the following queries (Q1 tHRough Q5) to determine these ratios
rigorously:'
should read:
'For Example 5-1, you would perform the following queries (Q1 through Q5) to determine these ratios
rigorously:'

Anonymous    Apr 01, 2008
Other Digital Version
87
Last SQL statement in box

The last SQL statement in the box checks against a number, but it should check against a character
string.

SELECT index_name FROM ALL_INDEXES WHERE degree != 1;
should read:
SELECT index_name FROM ALL_INDEXES WHERE degree != '1';

Anonymous    Jul 01, 2008
Printed
Page 124
1st paragraph, 1st sentence.

The text is backwards, and should read:

"Find the detail join ratios, to place alongside the upper end of each inner join
arrow, by dividing [[the count on the join of the two tables]] by [[the count on the
lower table (the master table of that master-detail relationship)]].

Because, you always divide the join (numerator) by the table count (denominator)
using Dan's query diagramming method, not the other way around. The related diagrams,
text, formula, etc., on this page seem correct.

Anonymous    Apr 01, 2008
Other Digital Version
124
1st paragraph, 1st sentence.

The text is backwards, and should read:

"Find the detail join ratios, to place alongside the upper end of each inner join
arrow, by dividing [[the count on the join of the two tables]] by [[the count on the
lower table (the master table of that master-detail relationship)]].

Because, you always divide the join (numerator) by the table count (denominator)
using Dan's query diagramming method, not the other way around. The related diagrams,
text, formula, etc., on this page seem correct.

Anonymous    Jul 01, 2008
Printed
Page 163
1st paragraph

The reference to 'A2' should be 'A1' instead.
E.g. 'the best filter on A1 is still favored'.

Anonymous    Apr 01, 2008
Other Digital Version
163
1st paragraph

The reference to 'A2' should be 'A1' instead.
E.g. 'the best filter on A1 is still favored'.

Anonymous    Jul 01, 2008
Printed
Page 167
1st paragraph

The three references to 'C2' in the first paragraph should be 'C1'.

Anonymous    Apr 01, 2008
Other Digital Version
167
1st paragraph

The three references to 'C2' in the first paragraph should be 'C1'.

Anonymous    Jul 01, 2008
Printed
Page 180
2nd paragraph

The 2nd sentence in this paragraph which begins:

Briefly, if the normalization is justifiable,
should be:
Briefly, if the denormalization is justifiable,

Anonymous    Apr 01, 2008
Other Digital Version
180
2nd paragraph

The 2nd sentence in this paragraph which begins:

Briefly, if the normalization is justifiable,
should be:
Briefly, if the denormalization is justifiable,

Anonymous    Jul 01, 2008
Printed
Page 203
4th line at the 2nd paragraph

T1.FKey.ID should be T1.FKey_ID

Anonymous    Apr 01, 2008
Other Digital Version
203
4th line at the 2nd paragraph

T1.FKey.ID should be T1.FKey_ID

Anonymous    Jul 01, 2008
Printed
Page 219
1st paragraph below the Diagram

Last sentence -
In Figure 7-34
should be
In Figure 7-33

Anonymous    Apr 01, 2008
Other Digital Version
219
1st paragraph below the Diagram

Last sentence -
In Figure 7-34
should be
In Figure 7-33

Anonymous    Jul 01, 2008
Printed
Page 226
1st line on 2nd paragraph

"Queries with Views" should be replaced with "Queries with Subqueries"

Anonymous    Apr 01, 2008
Other Digital Version
226
1st line on 2nd paragraph

"Queries with Views" should be replaced with "Queries with Subqueries"

Anonymous    Jul 01, 2008