General Description
A massive book spanning over 850 pages. It consists of 16 chapters and 6 appendices. Contains plenty of code, as well as various diagrams, schematics, and illustrations. Despite its size, it reads quite easily and never feels dull. Each chapter ends with a brief summary. I read the 3rd edition of the book, although there might already be something more up-to-date available.
Brief Overview
I often briefly summarize chapters of various books and highlight the aspects I particularly liked. However, to save both your time and mine, I'll limit myself here to a concise outline that will let you determine on your own which topics are covered in this book.
- MySQL History and Architecture
- MySQL Benchmarking
- Profiling Server Performance
- Optimizing Schema and Data Types
- Improving Performance with Indexing
- Optimizing Query Performance
- Advanced MySQL Features
- Tuning Server Parameters
- Optimizing the Operating System and Hardware
- Replication
- Scaling MySQL
- High Availability
- MySQL in the Cloud
- Application-Level Optimization
- Backup and Recovery
- Tools for MySQL Users
- Appendix A. MySQL Branches and Versions
- Appendix B. MySQL Server Status
- Appendix C. Transferring Large Files
- Appendix D. The EXPLAIN Command
- Appendix E. Debugging Locks
- Appendix F. Using Sphinx with MySQL
Opinion
A comprehensive MySQL book that, in many ways, can be considered an alternative to MySQL's official documentation. Many topics are covered in great depth—from storage engines and data types to performance profiling and replication. Even though I work with MySQL almost every day, I still found plenty of new and interesting insights in this book, resulting in a 50-page summary—the longest one I've ever written. Overall, much of the content overlaps significantly with other relational databases, so even if you work with different database systems, you'll likely find valuable information here—especially if they use SQL as their primary language.