This book is a treasure trove of practical advice; you just have to get past some glaring editing mistakes. The authors draw upon their real life experiences working with MySQL on large, mission critical projects, and with their well established contacts within MySQL AB.
The first two chapters (Back to Basics and Storage Engines) provide the background information. This is useful not only for understanding MySQL, but other SQL databases as well. MySQL will allow you to choose the most appropriate database type for the job, whether the job is the entire project, or just a part of it - mix and match as appropriate.
The second pair of chapters deal with various aspects of benchmarking and indexing, which are referenced throughout the rest of the book when tackling specific performance issues.
The next two chapters deal with tuning your MySQL application. As the authors note, most performance gains can be realized with minor application changes versus better hardware. Learn how MySQL thinks when it executes your queries. At the same time, do not ignore the hardware, but neither invest in the wrong areas.
Once you have things working small, it is time to scale things to the big leagues. Separate chapters deal with replication (distributing copies of the database to multiple servers), and load balancing and high availability. The same techniques that work for the web will not necessarily work for MySQL.
The final chapters deal with keeping things going once they have started. Backup-recovery and security may be among the last topics to be discussed, but my recommendation is to go through everything before putting your application into production – you do not need to have all your hard work brought down because you did everything in order, putting each item into production as it was completed, and leaving the most critical to last.
Finally, there are appendices devoted to
commands, and phpMyAdmin – useful tools to make the administrator's and
developer's lives a bit easier.
For me, this book came along at an opportune time. I am about to start a database project, and the information is proving to be a benefit to consider even before the project is designed. By keeping this content in mind, I should be able to save myself countless hours by not going down the wrong road in my development.
I can hardly wait for the next edition, promised by the authors because certain MySQL features are only becoming available at the time this edition went to the printers.