High Performance MySQL - book review
I've just finished reading High Performance MySQL, 2nd Edition published by O'Reilly. I wanted to read this book for a few reasons, firstly I'm a long time Microsoft SQL Server user and wanted to improve my MySQL knowlegde. Secondly, performance is a topic of huge importance which sadly tends to get pushed down the priorities list during the development lifecycle and can be hard to retify.
This book is not light reading in terms of content or physical size. There are 684 pages of pretty intensive information on getting the best performance out of your applications. Unfortunately there are no hard and fast rules, however the book is writing from a practical, real world view point and goes into detail about the various pros, cons and whys of everything from the set up your servers, to which storage engine to use. The section on storage engines I found to be particualrly interesting and mentions are made of the proposed changes which will be introducted in MySQL 6. As you'd expect from a book on performance, there is quite a bit on execution plans, indexes and architecture and it is all good stuff. I really liked that the authors dare to mention what is seen by many as a taboo and that is the advantages and pitfalls of normalisation. That's right, normalisation can, in certain situations, actually harm the performance!
The other sections that I found most useful where the ones on Replication and Security. The stuff on replication is particuarly good and I really got the sense that the authors had earnt their knowledge through genuine experience and diligent experimentation in relation to MySQL and web based applications. I also enjoyed (which worried me slightly!) the explanation of locking and how it's used by different engines.
There is extensive coverage of available tools and how to use them to profile your database server and it's activity. Backup tools and even backup types are also covered in detail. There is also a brief overview of some utilities such as MySQL Proxy.
The authors of this book clearly have an in-depth, practical knowledge of MySQL and it's history and do an excellent job of sharing their know-how with the reader, although if you're not familiar with database engines then you may be intimidated by the level of detail. There is almost too much information in this book however it is organised well and has a comprehensive index, so you can always refer back to sections later.
I don't work on systems with huge databases where every last drop of performance counts, but I'm glad I read this book and have learnt a lot. Quite a bit of the information can be applied to any database platform, but there are some absolute gems relating specifically to MySQL.
In a word; Recommended.
The book is available on Amazon for £20 or from the O'Reilly website for £38. A kindle version is also available, for all you cool kids.
- Posted in:
- Reviews


I tend to prefer blogs over tech books these days, but this one really packs in detailed but practical advice.
Comment by Julian Halliwell – December 24, 2010