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.Content:
Chapter 1 Introduction (pages 1–9):
Chapter 2 Table and Index Organization (pages 11–27):
Chapter 3 SQL Processing (pages 29–45):
Chapter 4 Deriving the Ideal Index for a SELECT (pages 47–62):
Chapter 5 Proactive Index Design (pages 63–86):
Chapter 6 Factors Affecting the Index Design Process (pages 87–103):
Chapter 7 Reactive Index Design (pages 105–133):
Chapter 8 Indexing for Table Joins (pages 135–184):
Chapter 9 Star Join Considerations (pages 185–194):
Chapter 10 Multiple Index Access (pages 195–201):
Chapter 11 Indexes and Reorganization (pages 203–229):
Chapter 12 DBMS?Specific Indexing Restrictions (pages 231–235):
Chapter 13 DBMS?Specific Indexing Options (pages 237–244):
Chapter 14 Optimizers Are Not Perfect (pages 245–266):
Chapter 15 Additional Estimation Considerations (pages 267–288):
Chapter 16 Organizing the Index Design Process (pages 289–294):