Page 1 of 2
Few developers can escape the need to work with a database at some point in their career, but that implies you’ve learned not only your main programming language, but also the ins and outs of the database server and the murky world of databases in general. One of the databases you’re most likely to have to work with is MySQL (and its offshoots), so we’ve selected books that will teach you about MySQL, and about the big ideas behind all databases. Books about databases aren’t generally noted for being fun and easy reading, but the ones we’ve included here are. OK, not all of them, but even the ones that aren’t fun are the best in terms of readability and accuracy.
When it comes to books, I Programmer's mission is to provide unbiased reviews that you can trust - and they are written by those who use and understand the technologies concerned. Although we can only cover a fraction of the new programming books published, we try to include those that seem important and topical and this means we end up reading some that are dull and boring and even find some that are capable of misleading and confusing the reader.
For Programmer's Bookshelf, however, we pick only the best and recommend the books you might find helpful at different stages in your personal development.
If you want to read more of the original review click in the link in each title. Clicking on the book jacket in the side panel will take you to Amazon. If you just want to find out more about the book click in the top portion of the thumbnail to open the book's product details page. If you do decide to make a book purchase accessing Amazon from a link on I Programmer means that we are credited with a few cents - so thanks to all of you who support us in this way.
Making the most of MariaDB and MySQL
The first step in working with any database is learning SQL, so a good place to start is with Teach yourself SQL in 24 Hours, by Ryan Stephens, Ron Plew & Arie D. Jones. This is one of Sam’s familiar format of 24 one-hour long lessons. It takes a vendor-neutral approach to SQL, with examples in real world SQL dialects.
All the chapters include quizzes and exercises to check you’ve understood the concepts, along with points to watch out for, and interesting ‘by the way’ asides. The book takes you all the way from simple queries through subqueries, performance tuning, using SQL to manage users and security, and using views and the system catalog. The final part of the book looks at advanced SQL topics such as cursors, stored procedures and triggers, XML, and using SQL on the Internet and Intranet. Kay Ewbank’s conclusion was the book was worth a 4-star rating, and while you won’t come out as a SQL expert, you will know enough to make the SQL in your applications work, and work pretty well.
The relationship between MySQL and MariaDB is a close one, so books about one are in general equally applicable to the other. MariaDB is of course the Oracle-free offshoot of MySQL developed by Monty Widenius, originator of MySQL. In MariaDB Crash Course (Addison-Wesley, 2011) Ben Forta takes you through the basics of MariaDB (and MySQL) if you’re a new user. The book is based on Ben Forta’s Teach Yourself SQL in 10 Minutes, and is designed to take someone who’s new with databases from the absolute beginning of connecting to a MariaDB database all the way through ‘basic’ SQL, ending the main coverage with triggers, stored procedures and transactions. The reviewer said, “It is split into short, well explained chapters each concentrating on a single SQL command. The book is well laid out, the examples are simple and clear, and there’s very little waffling.”
Overall, Kay Ewbank thought the book was well written and well placed for its target audience, and gave it a rating of 4.5.
In High Performance MySQL 3rd Edition (O’Reilly, 2012), authors Baron Schwartz, Peter Zaitsev & Vadim Tkachenko have written a book packed full of techniques to make MySQL fly. The specific areas covered are optimization, backups and replication, and the authors show how to use open source utilities to delve into MySQL performance.
Working out whether a server is running slowly, and how to improve that performance, is difficult. The authors show how to profile entire apps, particular queries, and workloads, then how to use the profile for optimization. Some of the material is tough going, such as problems with slow replicated systems. Giving it a maximum 5 rating, Kay Ewbank said that it’s densely packed and a hard read, but she’s sure the book will improve the way your apps perform.
What should you do when queries don’t work? Sveta Smirnova tackles this problem in MySQL Troubleshooting (O'Reilly, 2012). The material for the book has been drawn from Smirnova’s discussions with customers as a principal technical support engineer at Oracle. The premise is that there are a number of common problems that can be avoided or minimized, and the book takes you through them one by one showing the best way to set up MySQL to prevent them happening or to weed them out when they do occur.
Giving the book a rating of 4.5, Kay Ewbank said “This is a very good book, and if you’re running a MySQL server it’s worth reading. You may well know some of what’s covered, but seeing it all written down logically is still useful. The writing style is pretty dense and heavy on code, but still understandable and refreshingly short on waffle.”