| |
| Table of Contents | |
| SQL Performance Tuning | |||||||||||||||||||
| By Peter Gulutzan, Trudy Pelzer | |||||||||||||||||||
| Publisher | : Addison Wesley | ||||||||||||||||||
| Pub Date | : September 10, 2002 | ||||||||||||||||||
| ISBN | : 0-201-79169-2 | ||||||||||||||||||
| Pages | : 528 | ||||||||||||||||||
| Slots | : 1 | | Copyright | ||||||||||||||||
| | Preface | ||||||||||||||||||
| | You Don't Know that Your DBMS Is Good | ||||||||||||||||||
| | You Know that Even Good Tools Work Better in Skilled Hands | ||||||||||||||||||
| | |||||||||||||||||||
| | Acknowledgments | ||||||||||||||||||
| | Chapter 1. Facilis Descensus Averni | ||||||||||||||||||
| | This Subject Is Important | ||||||||||||||||||
| | The Big Eight | ||||||||||||||||||
| | Test Results | ||||||||||||||||||
| | Portability | ||||||||||||||||||
| | Terminology and Expectations | ||||||||||||||||||
| | Generalities | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 2. Simple Searches | ||||||||||||||||||
| | General Tuning | ||||||||||||||||||
| | Specific Tuning | ||||||||||||||||||
| | Style Notes | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 3. ORDER BY | ||||||||||||||||||
| | General Sort Considerations | ||||||||||||||||||
| | Character Sorts | ||||||||||||||||||
| | Other Options | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 4. GROUP BY | ||||||||||||||||||
| | Refresher | ||||||||||||||||||
| | Optimal GROUP BY Clauses | ||||||||||||||||||
| | Sorting | ||||||||||||||||||
| | Set Functions and Summary Aggregates | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 5. Joins | ||||||||||||||||||
| | Join Plan Strategies | ||||||||||||||||||
| | Avoid the Join Strategies | ||||||||||||||||||
| | Three-Way Joins and Beyond | ||||||||||||||||||
| | Old Style versus ANSI Style | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 6. Subqueries | ||||||||||||||||||
| | Refresher | ||||||||||||||||||
| | Join versus Subquery | ||||||||||||||||||
| | Syntax Choices | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 7. Columns | ||||||||||||||||||
| | How Big Is the Size Factor? | ||||||||||||||||||
| | Characters | ||||||||||||||||||
| | Temporals | ||||||||||||||||||
| | Numbers | ||||||||||||||||||
| | Bits | ||||||||||||||||||
| | Large Objects | ||||||||||||||||||
| | NULLs | ||||||||||||||||||
| | Column Order Within Rows | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 8. Tables | ||||||||||||||||||
| | The Storage Hierarchy | ||||||||||||||||||
| | Heaps | ||||||||||||||||||
| | Clusters | ||||||||||||||||||
| | The Normal Forms | ||||||||||||||||||
| | Views | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 9. Indexes | ||||||||||||||||||
| | Refresher | ||||||||||||||||||
| | B-trees | ||||||||||||||||||
| | Types of Indexes | ||||||||||||||||||
| | Bitmap Indexes | ||||||||||||||||||
| | Other Index Variations | ||||||||||||||||||
| | Index Key Values | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 10. Constraints | ||||||||||||||||||
| | NOT NULL | ||||||||||||||||||
| | CHECK | ||||||||||||||||||
| | FOREIGN KEY | ||||||||||||||||||
| | PRIMARY KEY | ||||||||||||||||||
| | UNIQUE | ||||||||||||||||||
| | Triggers | ||||||||||||||||||
| | Disabling Constraints | ||||||||||||||||||
| | Client Validations | ||||||||||||||||||
| | Redundant SELECT Clauses | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 11. Stored Procedures | ||||||||||||||||||
| | Refresher | ||||||||||||||||||
| | Advantages of Stored Procedures | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 12. ODBC | ||||||||||||||||||
| | Refresher | ||||||||||||||||||
| | SQLPrepare | ||||||||||||||||||
| | Fetch Loops | ||||||||||||||||||
| | Data-Change Statements | ||||||||||||||||||
| | Catalog Functions | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 13. JDBC | ||||||||||||||||||
| | Connections | ||||||||||||||||||
| | Query Prepping | ||||||||||||||||||
| | Result Sets | ||||||||||||||||||
| | Data Changes | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 14. Data Changes | ||||||||||||||||||
| | Logs | ||||||||||||||||||
| | INSERT | ||||||||||||||||||
| | UPDATE | ||||||||||||||||||
| | DELETE | ||||||||||||||||||
| | Ugly Updates | ||||||||||||||||||
| | FETCH and Data Changes | ||||||||||||||||||
| | COMMIT and ROLLBACK | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 15. Locks | ||||||||||||||||||
| | What Is a Lock? | ||||||||||||||||||
| | Isolation Levels | ||||||||||||||||||
| | Index Locks | ||||||||||||||||||
| | Hot Spots | ||||||||||||||||||
| | Optimistic Locking | ||||||||||||||||||
| | The Scan Trick | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 16. Clients and Servers | ||||||||||||||||||
| | Middleware | ||||||||||||||||||
| | Server Processes and Threads | ||||||||||||||||||
| | What Should the Client Do? | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Chapter 17. Cost-Based Optimizers | ||||||||||||||||||
| | Cost | ||||||||||||||||||
| | Statistics and Histograms | ||||||||||||||||||
| | EXPLAIN | ||||||||||||||||||
| | Hints | ||||||||||||||||||
| | Parting Shots | ||||||||||||||||||
| | |||||||||||||||||||
| | Appendix A. Further Reading | ||||||||||||||||||
| | Appendix B. Glossary | ||||||||||||||||||