Buying Options
High Performance MySQL, Second Edition
Print $49.99
Add to Cart
Print+Ebook $54.99
Add to Cart
Ebook $39.99
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £38.50
Add to Cart
What is this?

Product Editions

  1. High Performance MySQL, Second Edition - June 2008
  2. High Performance MySQL - April 2004
Description
High Performance MySQL is the definitive guide to building fast, reliable systems with MySQL. Written by noted experts with years of real-world experience building very large systems, this book covers every aspect of MySQL performance in detail, and focuses on robustness, security, and data integrity. Learn advanced techniques in depth so you can bring out MySQL's full power. The second edition is completely revised and greatly expanded, with deeper coverage in all areas.
Full Description
Table of Contents
  1. Chapter 1 MySQL Architecture

    1. MySQL's Logical Architecture

    2. Concurrency Control

    3. Transactions

    4. Multiversion Concurrency Control

    5. MySQL's Storage Engines

  2. Chapter 2 Finding Bottlenecks: Benchmarking and Profiling

    1. Why Benchmark?

    2. Benchmarking Strategies

    3. Benchmarking Tactics

    4. Benchmarking Tools

    5. Benchmarking Examples

    6. Profiling

    7. Operating System Profiling

  3. Chapter 3 Schema Optimization and Indexing

    1. Choosing Optimal Data Types

    2. Indexing Basics

    3. Indexing Strategies for High Performance

    4. An Indexing Case Study

    5. Index and Table Maintenance

    6. Normalization and Denormalization

    7. Speeding Up ALTER TABLE

    8. Notes on Storage Engines

  4. Chapter 4 Query Performance Optimization

    1. Slow Query Basics: Optimize Data Access

    2. Ways to Restructure Queries

    3. Query Execution Basics

    4. Limitations of the MySQL Query Optimizer

    5. Optimizing Specific Types of Queries

    6. Query Optimizer Hints

    7. User-Defined Variables

  5. Chapter 5 Advanced MySQL Features

    1. The MySQL Query Cache

    2. Storing Code Inside MySQL

    3. Cursors

    4. Prepared Statements

    5. User-Defined Functions

    6. Views

    7. Character Sets and Collations

    8. Full-Text Searching

    9. Foreign Key Constraints

    10. Merge Tables and Partitioning

    11. Distributed (XA) Transactions

  6. Chapter 6 Optimizing Server Settings

    1. Configuration Basics

    2. General Tuning

    3. Tuning MySQL's I/O Behavior

    4. Tuning MySQL Concurrency

    5. Workload-Based Tuning

    6. Tuning Per-Connection Settings

  7. Chapter 7 Operating System and Hardware Optimization

    1. What Limits MySQL's Performance?

    2. How to Select CPUs for MySQL

    3. Balancing Memory and Disk Resources

    4. Choosing Hardware for a Slave

    5. RAID Performance Optimization

    6. Storage Area Networks and Network-Attached Storage

    7. Using Multiple Disk Volumes

    8. Network Configuration

    9. Choosing an Operating System

    10. Choosing a Filesystem

    11. Threading

    12. Swapping

    13. Operating System Status

  8. Chapter 8 Replication

    1. Replication Overview

    2. Setting Up Replication

    3. Replication Under the Hood

    4. Replication Topologies

    5. Replication and Capacity Planning

    6. Replication Administration and Maintenance

    7. Replication Problems and Solutions

    8. How Fast Is Replication?

    9. The Future of MySQL Replication

  9. Chapter 9 Scaling and High Availability

    1. Terminology

    2. Scaling MySQL

    3. Load Balancing

    4. High Availability

  10. Chapter 10 Application-Level Optimization

    1. Application Performance Overview

    2. Web Server Issues

    3. Caching

    4. Extending MySQL

    5. Alternatives to MySQL

  11. Chapter 11 Backup and Recovery

    1. Overview

    2. Considerations and Tradeoffs

    3. Managing and Backing Up Binary Logs

    4. Backing Up Data

    5. Recovering from a Backup

    6. Backup and Recovery Speed

    7. Backup Tools

    8. Scripting Backups

  12. Chapter 12 Security

    1. Terminology

    2. Account Basics

    3. Operating System Security

    4. Network Security

    5. Data Encryption

    6. MySQL in a chrooted Environment

  13. Chapter 13 MySQL Server Status

    1. System Variables

    2. SHOW STATUS

    3. SHOW INNODB STATUS

    4. SHOW PROCESSLIST

    5. SHOW MUTEX STATUS

    6. Replication Status

    7. INFORMATION_SCHEMA

  14. Chapter 14 Tools for High Performance

    1. Interface Tools

    2. Monitoring Tools

    3. Analysis Tools

    4. MySQL Utilities

    5. Sources of Further Information

  1. Appendix Transferring Large Files

    1. Copying Files

    2. File Copy Benchmarks

  2. Appendix Using EXPLAIN

    1. Invoking EXPLAIN

    2. The Columns in EXPLAIN

    3. Visual EXPLAIN

  3. Appendix Using Sphinx with MySQL

    1. Overview: A Typical Sphinx Search

    2. Why Use Sphinx?

    3. Architectural Overview

    4. Special Features

    5. Practical Implementation Examples

    6. Conclusion

  4. Appendix Debugging Locks

    1. Lock Waits at the Server Level

    2. Lock Waits in Storage Engines

  5. Colophon

View Full Table of Contents
Product Details
Title:
High Performance MySQL, Second Edition
By:
Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy D. Zawodny, Arjen Lentz, Derek J. Balling
Publisher:
O'Reilly Media
Formats:
  • Print
  • Ebook
  • Safari Books Online
Print Release:
June 2008
Ebook Release:
December 2008
Pages:
712
Print ISBN:
978-0-596-10171-8
| ISBN 10:
0-596-10171-6
Ebook ISBN:
978-0-596-15855-2
| ISBN 10:
0-596-15855-6
Customer Reviews
About the Authors
  1. Baron Schwartz

    Baron Schwartz is a software engineer who lives in Charlottesville, Virginia and goes by the online handle of "Xaprb," which is his first name typed in QWERTY on a Dvorak keyboard. When he's not busy solving a fun programming challenge, he relaxes with his wife Lynn and dog Carbon. He blogs about software engineering at http://www.xaprb.com/blog/.

    View Baron Schwartz's full profile page.

  2. Peter Zaitsev

    A former manager of the High Performace Group at MySQL AB, Peter Zaitsev now runs the mysqlperformanceblog.com site. He specializes in helping administrators fix issues with Web sites handling millions of visitors a day, dealing with terabytes of data using hundreds of servers. He is used to making changes and upgrades both to hardware to software (such as query optimization) in order to find solutions. He also speaks frequently at conferences.

    View Peter Zaitsev's full profile page.

  3. Vadim Tkachenko

    Vadim Tkachenko was a Performance Engineer in at MySQL AB. As an expert in multithreaded programming and synchronization, his primary tasks were benchmarks, profiling, and finding bottlenecks. He also worked on a number of features for performance monitoring and tuning, and getting MySQL to scale well on multiple CPUs.

    View Vadim Tkachenko's full profile page.

  4. Jeremy D. Zawodny

    Jeremy Zawodny and his two cats moved from Northwest Ohio to Silicon Valley in late 1999 so he could work for Yahoo!--just in time to witness the .com bubble bursting first-hand. He's been at Yahoo!® ever since, helping to put MySQL and other Open Source technologies to use in fun, interesting, and often very big ways. Starting with the popular and high-traffic Yahoo! Finance site, he worked to make MySQL part of the site's core infrastructure in large batch operations as well as real-time feed processing and serving content directly on the site. He then helped to spread "the MySQL religion" to numerous other groups within Yahoo!, including News, Personals, Sports, and Shopping. Nowadays he acts as Yahoo!'s MySQL guru, working with Yahoo!'s many engineering groups to get the most out of their MySQL deployments.

    In 2000, he began writing for Linux Magazine and continues to do so today as a columnist and contributing editor. After over a year of active participation on the MySQL mailing list, he got the idea to write a book about MySQL. (How hard could it be, really?) You can still find him answering questions on the list today. Since 2001, Jeremy has been speaking about MySQL at various conferences (O'Reilly's Open Source Conference, PHPCon, The MySQL User Conference, etc.) and user groups in locations as far away as Bangalore, India. His favorite topics are performance tuning, replication, clustering, and backup/recovery. In more recent times, he's rediscovered his love of aviation, earning a Private Pilot Glider license in early 2003. Since then he's spent far too much of his free time flying gliders out of Hollister, California and Truckee, near Lake Tahoe. He hopes to soon earn his Commercial Pilot license and then go on to become a certified flight instructor someday. Occasional MySQL consulting also helps to pay for his flying addiction.

    Jeremy rambles almost daily about technology and life in general on his weblog: www.jeremy.zawodny.com/blog/

    View Jeremy D. Zawodny's full profile page.

  5. Arjen Lentz

    Arjen Lentz was born in Amsterdam but has lived in Queensland Australia since the turn of the millennium, sharing his life these days with his beautiful daughter Phoebe and black cat Figaro. Originally a C programmer, Arjen was employee #25 at MySQL AB (2001-2007). After a brief break in 2007, Arjen founded Open Query (http://openquery.com.au), which develops and provides its own data management training and consulting services in the Asia Pacific region and beyond. Arjen also regularly speaks at conferences and user groups. In his abundant spare time Arjen indulges in cooking, gardening, reading, camping, and exploring the RepRap. Arjen's weblog is at http://arjen-lentz.livejournal.com/

    View Arjen Lentz's full profile page.

  6. Derek J. Balling

    Derek J. Balling has been a Linux system administrator since 1996. He has helped build and maintain server infrastructure for companies like Yahoo, and institutions like Vassar College. He has also written articles for The Perl Journal and a number of online magazines, and is on the Program Committee for the 2008 LISA Conference. He is currently employed as the Data Center Manager for Answers.com.

    When not working on computer-related issues, Derek enjoys spending time with his wife Debbie, and their posse of animals (4 cats and a dog). He also makes his opinion known on current events or whatever is annoying him lately on his blog at http://blog.megacity.org/.

    View Derek J. Balling's full profile page.

  7. View All Authors

Colophon

The animal on the cover of High Performance MySQL is a sparrow hawk (Accipiter nisus), a small woodland member of the falcon family found in Eurasia and North Africa. Sparrow hawks have a long tail and short wings; males are bluish-gray with a light brown breast, and females are more brown-gray and have an almost fully white breast. Males are normally somewhat smaller (11 inches) than females (15 inches). Sparrow hawks live in coniferous woods and feed on small mammals, insects, and birds. They nest in trees and sometimes on cliff ledges. At the beginning of the summer, the female lays four to six white eggs, blotched red and brown, in a nest made in the boughs of the tallest tree available. The male feeds the female and their young. Like all hawks, the sparrow hawk is capable of bursts of high speed in flight. Whether soaring or gliding, the sparrow hawk has a characteristic flap-flap-glide action; its large tail enables the hawk to twist and turn effortlessly in and out of cover.

  • Book cover of High Performance MySQL