Amazon.com Customer Reviews
Expand your MySQL horizons - Review written on May 29, 2006
Rating: 5 out of 5
3 customers found this review helpful.
Highly indicated reading for any database designer involved in developing a major application or in optimizing database operations using MySQL, this intermediate/advanced level book assumes the reader has a general knowledge of database operations and some familiarity with MySQL database system. However, should such awareness be lacking, the book is sprinkled generously with additional source of information to remedy the deficiency. From conceptualizing and elaborating a database to fit business needs to implementing it in an efficient manner, the author takes the reader deep into the inner workings of MySQL in order to optimize database operations. Tools for benchmarking and profiling, which are essentials to indicate where coding performance could be improved, are explored in an insightful manner.
As much as it is possible to make a book on data processing, much less database innards interesting and captivating reading, the author has done an excellent job in this regard.
Overall, a must reading for any MySQL developer looking into enhancing his/her skills.
An excellent resource for advanced MySQL users - Review written on December 06, 2005
Rating: 5 out of 5
9 customers found this review helpful, 1 did not.
I am pleased to see a new trend emerging in the MySQL books I get to review, and that is a trend toward more advanced books that assume the reader is already familiar with how to create a table and construct a basic SELECT query. Pro MySQL by Mike Kruckenberg and Jay Pipes is a shining example of this new trend. This book cuts through the basics to provide in-depth information on not only how to use MySQL, but on how the MySQL server actually works.
One example of this is their chapter on Index Concepts. Rather than focus on the basics of how to create an index, this book gives you depth by talking about seek times, buffering, and the actual structure of things such as a B-Tree index. As a result you not only know that an index on a certain column will improve performance, you also know why.
This book is also the first I have seen that takes a chapter to really dig into the MySQL source code and illustrate some of the internal workings of the MySQL server, such as the client protocol, complete with flow charts and diagrams. The System Architecture chapter is a great place to start if you are looking to understand the server internals or modify the MySQL source code.
There is a nice SQL Scenarios chapter that covers some common use cases for things such as finding duplicate and orphan records, retrieving random rows (properly), working with GIS data, and (my favorite) working with hierarchical data. The authors cover the Nested Set model nicely (which I have previously written and presented about), covering the basics of using nested sets. This provides a good starting point from which one could easily jump the Celko's Trees and Hierarchies book.
The book carries on with a good introduction to stored procedures, functions, cursors, views, and triggers to round out the first half of the book, and then spends the second half of the book focusing on administrative tasks.
There is quick coverage of installing and configuring MySQL, with more emphasis given to configuring MySQL than installing it, as is appropriate to a book on advanced MySQL usage. Following installation and configuration comes coverage of user administration, where once again flow charts are used effectively to show the authentication process within the MySQL server.
I was pleased to see the MySQL GUI tools being covered in print, as user administration was shown both using the command-line mysql client and MySQL Administrator. It was good to see the authors recommend that administrators think in terms of user roles, even if roles are not yet implemented in MySQL (the authors suggest the use of scripts to grant and revoke roles, a good workaround in the interim).
This book will certainly be noted for being one of the first to print with coverage of MySQL Cluster, as well as a full chapter on the new INFORMATION_SCHEMA, or MySQL Data Dictionary, as the authors chose to name the chapter.
All in all this is a really solid book for the experienced MySQL user who wants to go futher, and certainly lives up to its name.
Moving your knowledge level up to the next level - Review written on September 18, 2005
Rating: 5 out of 5
6 customers found this review helpful.
Written for those who already have some familiarity with MySQL and want a deeper understanding of the database system the authors take them on a detailed tour of MySQL Server version 5.0. They include many techniques that are not found in most other texts and that by itself makes this a valuable book. The authors do make the assumption that the reader already has some knowledge of relational databases and how they should work.
The book starts by examining business requirements and how software is developed from an initial requirements assessment through object and data modeling, diagramming, and completing the design of the database. The second chapter details indexing and how to use it efficiently to increase data lookup speed. The third chapter provides a detailed discussion of transaction processing. These three chapters form the foundation on which the deeper discussions in later chapters are all based.
One of the areas that I have not found discussed in any significant detail in other books is the internal system architecture of MySQL. In chapters 4 and 5 the authors examine the internal structure and the different storage engines and data types MySQL uses with a concentration on the InnoDB and MyISAM storage engines. The rest of the book covers more traditional fare such as subqueries and derived tables, benchmarking and profiling, writing SQL queries that are efficient and produce the information you want, stored procedures, stored functions, views, and triggers.
Of course they go over installation and configuration in detail as well as security, backup and restoration, replication, clustering, and troubleshooting. The authors have included lots of illustrations, tables, and examples that really help make complex MySQL concepts easy to understand. Pro MySQL is highly recommended for readers who already have a good understanding of MySQL past the beginners level and into the intermediate level.