MySQL Database Design and Tuning is aimed at busy database designers, database and system administrators, webmasters, and developers who want to build, deploy, and manage the fastest possible solutions based on MySQL.
To take full advantage of this book, application developers should understand the following:
Standard Structured Query Language (SQL) Because SQL is the underpinning of MySQL database access, it's important that you at least comprehend basic SQL (simple queries, INSERT/UPDATE/DELETE operations, and so on).
A programming language such as Java, C++, and so on SQL is often paired with a procedural programming or scripting language to create MySQL-based applications. Although MySQL Performance Optimization is not a programming guide, it does discuss the performance interplay between the programming language and the MySQL engine.
Readers who are responsible for designing and/or administering databases should understand the following:
Basic relational database design theory To make the most of this book, you should be aware of how to design a simple database, as well as understand data normalization, constraints, and so on.
Intermediate or advanced SQL As a database administrator/analyst (DBA), you are often called on to produce more sophisticated SQL on behalf of your users. MySQL Database Design and Tuning will help you improve the responsiveness of your more complex join, subquery, index construction, and transactional challenges.
MySQL engine architecture This book does not expect you to have downloaded the MySQL source code or to construct hashing algorithms in your spare time. However, if you are familiar with the elegant MySQL product line architecture, you are likely to make better use of this book's recommendations.
System and web administrators should be familiar with the following:
MySQL's engine architecture Database performance issues are often misdiagnosed as hardware and/or operating system flaws. By understanding the components that make up the MySQL database, it's more likely that you will be able to accurately identify and fix (or even prevent) database response concerns.
Configuring server operating systems such as Windows and Linux There is interplay between the MySQL database and the underlying operating system. Fortunately, you can employ a number of operating system specific settings to make your operating system more MySQL-friendly.
Finally, some words for the open source developer. Unlike any other widely available database, MySQL's open source architecture, customer-friendly licensing, and source code availability means that you can programmatically change the behavior of the engine itself. This book, however, focuses on using the commercially available versions of MySQL; this book does not expect any reader to have the time, skill, or inclination to alter MySQL's source code.