Part I. Getting Started 1. MySQL Performance Tuning2. Query Tuning Methodology3. Benchmarking with Sysbench4. Test Data Part II. Sources of Information 5. The Performance Schema6. The sys Schema7. The Information Schema8. SHOW Statements9. The Slow Query Log Part III. Tools 10. MySQL Enterprise Monitor11. MySQL Workbench12. MySQL Shell Part IV. Schema Considerations and the Query Optimizer 13. Data Types14. Indexes15. Index Statistics16. Histograms17. The Query Optimizer18. Locking Theory and Monitoring Part V. Query Analysis 19. Finding Candidate Queries for Optimization20. Analyzing Queries21. Transactions22. Diagnosing Lock Contention Part VI. Improving the Queries 23. Configuration24. Change the Query Plan25. DDL and Bulk Data Load26. Replication27. Caching
Of the existing MySQL performance tuning resources, this is the most complete one I've seen. MySQL 8 has been out for a while now, and this book will get you up-to-date on tuning it.
The author starts with a high-level overview of tuning and benchmarking. With 900+ pages to work with, he has taken time to give this theoretical overview, but also highly specific details, with screenshots, diagrams, and terminal output for nearly every concept and tool mentioned.
The second section provides an in-depth tour of sources of information for tuning. This section includes the missing documentation for tools like sys schema and performance schema; I haven't seen depth and detail like this about these tools anywhere else.
Section three is a deep dive into available tools. A lot of performance guides miss the latest Oracle tools for monitoring and tuning, like MySQL Shell and histograms. The author has described them here in detail. However, he didn't forget to include the available open-source tools like ProxySQL.
Finally, in the fourth and fifth sections, the author discusses real-world application of the tools: query analysis, diagnosing lock contention, replication, etc.
This would be a regularly accessed guide on any DBA's bookshelf.