Relational Database Index Design and the Optimizers / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $57.30
Usually ships in 1-2 business days
(Save 53%)
Other sellers (Hardcover)
  • All (9) from $57.30   
  • New (6) from $57.28   
  • Used (3) from $59.65   


Improve the performance of relational databases with indexes designed for today's hardware

Over the last few years, hardware and software have advanced beyond all recognition, so it's hardly surprising that relational database performance now receives much less attention. Unfortunately, the reality is that the improved hardware hasn't kept pace with the ever-increasing quantity of data processed today. Although disk packing densities have increased enormously, making storage costs extremely low and sequential read very fast, random reads are still painfully slow. Many of the old design recommendations are therefore no longer valid-the optimal point of indexing has come a long way. Consequently many of the old problems haven't actually gone away-they have simply changed their appearance.

This book provides an easy but effective approach to the design of indexes and tables. Using lots of examples and case studies, the authors describe how the DB2, Oracle, and SQL Server optimizers determine how to access data, and how CPU and response times for the resulting access paths can be quickly estimated. This enables comparisons to be made of the various designs, and helps you choose available choices for the most appropriate design.

This book is intended for anyone who wants to understand the issues of SQL performance or how to design tables and indexes effectively. With this title, readers with many years of experience of relational systems will be able to better grasp the implications that have been brought into play by the introduction of new hardware.

An Instructor's Manual presenting detailed solutions to all the problems in the book is available online from the Wiley editorial department.

An Instructor Support FTP site is also available.

Read More Show Less

Editorial Reviews

From the Publisher
"I recommend this book to all those who have anything to do with database performance. It is a must-read for all database administrations, database designers, performance-tuning specialists, and application programmers…" (Computing, November 20, 2005)
Read More Show Less

Product Details

  • ISBN-13: 9780471719991
  • Publisher: Wiley
  • Publication date: 7/7/2005
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 328
  • Product dimensions: 6.36 (w) x 9.61 (h) x 0.76 (d)

Meet the Author

TAPIO LAHDENMÄKI, MSc, consults on database performance and teaches product-independent index design courses. He worked for IBM for more than thirty years as a database specialist and was IBM's principal author of the company's global courses for DB2 (for z/OS) performance.

MICHAEL LEACH, BSc, is a relational database consultant. He retired from IBM with twenty years' experience teaching application and database classes at IBM locations worldwide. Both authors have seen their material translated into many languages for widespread use. Their approach to index design has been successfully applied in numerous performance-critical systems.

Read More Show Less

Table of Contents


1. Introduction.

Another Book About SQL Performance!

Inadequate Indexing.

Myths and Misconceptions.

2. Table and Index Organization.


Index Rows.

Index Structure.

Table Row.

Buffer Pools and Disk I/Os.

Hardware Specifics.

DBMS Specifics.

3. SQL Processing.



Optimizers and Access Paths.

Filter Factors.

Materializing the Result Rows.


4. Deriving the Ideal Index for a SELECT.


Basic Assumptions for Disk and CPU Times.

Inadequate Index.

Three-Star Index—The Ideal Index for a SELECT.

Algorithm to Derive the Best Index for a SELECT.

Ideal Index for Every SELECT?

Cost of an Additional Index.



5. Proactive Index Design.

Detection of Inadequate Indexing.

Basic Question (BQ).

Quick Upper-Bound Estimate (QUBD).

Cheapest Adequate Index or Best Possible Index: Example 1.

Cheapest Adequate Index or Best Possible Index: Example 2.

When to Use the QUBE.

6. Factors Affecting the Index Design Process.

I/O Time Estimate Verification.

Multiple Thin Index Slices.

Difficult Predicates.

Filter Factor Pitfall.

Filter Factor Pitfall Example.


7. Reactive Index Design.


EXPLAIN Describes the Selected Access Paths.

Monitoring Reveals the Reality.

LRT-Level Exception Monitoring.

Call-Level Exception Monitoring.

DBMS-Specific Monitoring Issues.


8. Indexing for Table Joins.


Two Simple Joins.

Impact of Table Access Order on Index Design.

Basic Joint Question (BJQ).

Predicting the Table Access Order.

Merge Scan Joins and Hash Joins.

Nested-Loop Joins Versus MS/HJ and Ideal Indexes.

Joining More Than Two Tables.

Why Joins Often Perform Poorly.

Designing Indexes for Subqueries.

Designing Indexes for Unions.

Table Design Considerations.


9. Star Join Considerations.


Indexes on Dimension tables.

Huge Impact of the Table Access Order.

Indexes on Fact Tables.

Summary Tables.

10. Multiple Index Access.


Index ANDing.

Index ORing.

Index Join.


11. Indexes and Reorganization.

Physical Structure of a B-Tree Index.

How the DBMS Finds an Index Row.

What Happens When a Row IS Inserted?

Are Leaf Page Splits Serious?

When Should an Index Be reorganized?

Volatile Index Columns.

Long Index Rows.

Example: Order-Sensitive Batch Job.

Table Rows Stored in Leaf Pages.

Cost of Index Reorganization.

Split Monitoring.


12. DBMS-Specific Indexing Restrictions.


Number of Index Columns,

Total Length of the Index Columns.

Variable-Length Columns.

Number of Indexes per Table.

Maximum Index Size.

Index Locking.

Index Row Suppression.

DBMS Index Creation Examples.

13. DBMS-Specific Indexing Options.


Index Row Suppression.

Additional Index Columns After the Index Key.

Constraints to Enforce Uniqueness.

DBMS Able to Read an Index in Both Directions.

Index Key Truncation.

Function-Based Indexes.

Index Skip Scan.

Block Indexes.

Data-Partitioned Secondary Indexes.


14. Optimizers Are Not Perfect.


Optimizers Do Not Always See the Best Alternative.

Optimizers’ Cost Estimates May Be Very Wrong.

Cost Estimate Formulas.

Do Optimizer Problems Affect Index Design?


15. Additional Estimation Considerations.

Assumptions Behind the QUBE Formula.

Nonleaf Index Pages in Memory.

When the Actual Response Time Can Be Much Shorter Than the QUBE.

Estimating CPU Time (CQUBE).

CPU Estimation Examples.

16. Organizing the Index Design Process.


Computer-Assisted Index Design.

Nine Steps Toward Excellent Indexes.




Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)