Customer Reviews: High Performance MySQL: Optimization, Backups, Replication, and More
Your Garage Best Books of the Month Amazon Fashion Learn more Discover it $5 Albums Fire TV Stick Sun Care Patriotic Picks Shop-by-Room Amazon Cash Back Offer AnnedroidsS3 AnnedroidsS3 AnnedroidsS3  Amazon Echo  Echo Dot  Amazon Tap  Echo Dot  Amazon Tap  Amazon Echo Starting at $49.99 All-New Kindle Oasis Best Camping & Hiking Gear in Outdoors

Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

on November 13, 2008
Well, the first thing you want to do when you finish a book like this is go on and on about how impressed you are. This is one of the best database technology books I've read, and the best one on MySQL.

Digging into the book I would say I was an intermediate DBA. With 12 years experience on Oracle I was a seasoned DBA. And although I've used MySQL for about 10 years, I had not used all of the high end or newest 5.0 and 5.1 features. After reading this book, or while reading it, you'll be ready to dig into everything from MySQL master-master replication (not to be confused with multi-master), creating a logging server, optimizing your query cache, or even using some of the Google MySQL patches to add some much needed but missing feature to MySQL.

The book is organized pretty well. Keep in mind that this is not a beginner book. If you're looking for more general across the board MySQL book, I'd recommend the APress Pro MySQL by Kruckenberg and Pipes Pro MySQL (Expert's Voice in Open Source). It is also very good, but hits more of the beginning topics (as well as some advanced ones). So given the intermediate to advanced audience, this book dives right into benchmarking and profiling at the beginning.

Queries... those pesky SQL commands that you send to your database. They're so important to performance, yet so sadly misunderstood. This book devotes two chapters to the topic, one about schema and index optimization, and one about query performance. These two work together. You need to understand indexing to make best use of them, and how to write good queries to get only the data you need. The indexing chapter hit on index types supported by MyISAM, and ones for InnoDB. It talked about rebuilding, and when it's important, and statistics, and how they are different across the different storage engines. And this is a key point. Going into this book with my Oracle background, I had a lot of questions about how the optimizing engine aka the cost-based optimizer, works and interacts with the storage engines. It's all laid out here in clear detail. It was pretty obvious that these others are closely involved with the actual database development, and/or interviewed some of them to get the information correct. This is something I've had a hard time finding in other books, and really key to understanding how to optimize and tune queries. Where does the query cache sit, when and how are queries parsed, when does the optimizer pickup statistics, and how does it use them. You'll learn all the ins and outs of the explain facility, which you'll of course need to know to tune queries.

The next chapter on advanced features covered the query cache in detail, how to set it up, how to tune it, and how to monitor it. The chapter also covers UDFs, cursors, stored procedures, views, full-text searching, merge tables, partitioning and so on. One other topic it really investigated was distributed (XA) transactions. You might at first think these are an advanced topic that most users don't need to know about unless your application uses them. After all, who needs to query tables in a remote database when your application can connect and do that? Well it turns out MySQL is using XA transactions internally all the time within it's storage engine architecture. One case is when you have a transaction which uses two storage engines, ie tables with different storage engine attributes. But that's not all. MySQL also treats the binary log mechanism to be a storage engine in it's own right, so interaction between your InnoDB table transactions, and the binary log is effectively an XA transaction.

The next two chapters talk about server settings, and optimizing the OS and Hardware. All important topics, and given substantial coverage. Hand these chapters to your storage engine guru, system administrator or read them yourself if you wear all those hats!

A chapter on Replication, of course we expected to find a. What you'll be glad about is that it's 65 pages of the nuts and bolts of using replication after the five minutes it took you to set it up in MySQL. It'll help you keep your databases in sync, and help you identify them when they're not. What, my replication slaves might be out of sync? There is also coverage of the new row-based replication, and how it may help alleviate many of the current limitations of MySQL replication. There is also solid coverage of various replication topologies, from single master and many slaves, to distributed master, master-master, and how to create a logging server. You'll also learn why MySQL doesn't support multi-master replication, which is where both masters received updates, and are forced to resolve conflicts, and a whole host of new problems.

After that come a few chapters on topics outside the database tier, but equally important, from load balancing, to HA, tuning your webserver to caching and so on.

The finishing chapters include backup, security, and using the built-in server status commands. And finally a chapter on other tools for interacting with and monitoring your MySQL database.

Ok, great... a wonderful book. Any criticisms. Well I save those for last because they're really minor. If you read the book cover-to-cover you'll probably take notes like I did, so you'll be doing your own summarization. But at the end of various chapters, so chock full of new and very useful information, I sometimes wished there was exactly that, a summary of the topics, and quick list of bulletpoints. That would give one an easy way to look up advice for tuning specific areas and so on.

All-in-all though this book is really a tour de force for understanding MySQL database technology. Go get a copy!
0Comment|38 people found this helpful. Was this review helpful to you?YesNoReport abuse
on October 4, 2008
If you read the first edition and were underwhelmed, this is a vastly improved book. This second edition is entirely rewritten, more than twice as long, and covers a wide array of topics in depth, giving detailed advice and analysis in every chapter. The authors' advice on Innodb tuning, query optimization, and advanced replication issues is very strong. If you are responsible for a non-trivial MySQL installation, get this book.
0Comment|16 people found this helpful. Was this review helpful to you?YesNoReport abuse
on December 28, 2008
If you have ever so much as sneezed near a MySQL statement you must read this book. I have been using MySQL and reading other books for at least a decade but had no idea how much I didn't know (had never thought of this way). This book is very well written, very useful and practical, detailed for complex concepts but high level for noob-esk items. At first I found the structure odd but after finishing I wouldn't change it. Even if you are not looking for 'performance' there is so much useful MySQL fundamentals clearly explained it is extremely useful. Just as a case in point, I lent it to a graphics designer whoes code is abstracted by an automated framework and it still helped him to make drastic improvements by more clearly understanding the impact his requests had. He has since not only purchased the book but passed it on to several others. Did I mention he was a graphics designer recommending a book about 'that database stuff'?

Hope this helps, best regards and may your coding be bug free...
0Comment|10 people found this helpful. Was this review helpful to you?YesNoReport abuse
on August 30, 2012
I'm a web developer, not a DBA. However, I take my study of MySQL just as seriously as any other area of development. Any serious MySQL user should read this book, especially if you foresee the need to eventually scale your DB. The material is simply too deep and too dense to really absorb all this in one read. A broad spectrum of topics are covered from how clustered and non-clustered indexes are implemented, to replication, and various storage engines. I especially liked the coverage of storage engines including NDB Cluster, SolidDB, FalconDB, as well as the more traditional storage engines like MyISAM, InnoDB, archive, memory, blackhole etc. The coverage of things like Explain, Query Caching, Sharding, and other advanced topics is far more comprehensive than anything else I have found so far (most published mysql books are beginner to intermediate; few are advanced like this one). I have read this book once, and I plan to read it again...
0Comment|Was this review helpful to you?YesNoReport abuse
on October 3, 2012
I have not finished reading book yet but I like it so far. I am nor expert neither newbie in MySQL. I like that authors decided to use common language to explain very complicated things. With help of practical examples they help me understand where each technology may be useful. They do not waste even a single page with impractical theory... they go deep in details only, when it may help make right decision which technology must be used. This book explains why MySQL team created it and what are positives and negatives of using them.
0Comment|Was this review helpful to you?YesNoReport abuse
on October 24, 2012
I got way more than I bargained for with this book. It goes into great detail on several ways to speed up and optimize MySQL. There are several chapters that I did not really need, but the ones I did were really good. I have implemented only a few changes and done testing and have seen increased performance from MySQL. Good book!
0Comment|Was this review helpful to you?YesNoReport abuse
on December 6, 2008
The second edition of this book is far superior to any documentation or other books on MySQL that I have read. The content is extremely useful (see the table of contents), the writing is excellent and the explanations and diagrams are so lucid and elegant. The workarounds and other nifty pieces of advice are also valuable. I often couldn't put it down, which is unbelievable for a database text!
0Comment|3 people found this helpful. Was this review helpful to you?YesNoReport abuse
on August 31, 2008
The title of this book is very appropriate. Great coverage on performance, reliability, backup & recovery. Definitely not an introductory book.

There were a couple of places where the writing was hard to follow, but I'm sure that'll be fixed in the next printing.
0Comment|3 people found this helpful. Was this review helpful to you?YesNoReport abuse
on August 20, 2008
I work with MySQL in a web server environment every day and performance
is always an issue. This book is simply excellent. The authors are quite knowledgeable -- they not only tell you what settings to you, but also include why. They debunked a lot of misconceptions I held about getting the best performance out of the server and when to use MyISAM v. InnoDB.

I especially appreciated the deep background into server operation and how data is stored and queries processed with the different storage engines. If you are thinking of using MySQL on a large project, you need this book.

There's a good reason this is a 2nd edition -- a great book.
0Comment|2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on December 16, 2008
Very good MySQL book for people who knows the basics and want to get deeper.
0Comment|3 people found this helpful. Was this review helpful to you?YesNoReport abuse