How can you realize MySQL's full power? With High Performance MySQL, you'll learn advanced techniques for everything from setting service-level objectives to designing schemas, indexes, and queries to tuning your server, operating system, and hardware to achieve your platform's full potential. This guide also teaches database administrators safe and practical ways to scale applications through replication, load balancing, high availability, and failover.
Updated to reflect recent advances in cloud- and self-hosted MySQL, InnoDB performance, and new features and tools, this revised edition helps you design a relational data platform that will scale with your business. You'll learn best practices for database security along with hard earned lessons in both performance and database stability.
Dive into MySQL's architecture, including key facts about its storage engines
Learn how server configuration works with your hardware and deployment choices
Make query performance part of your software delivery process
Examine enhancements to MySQL's replication and high availability
Compare different MySQL offerings in managed cloud environments
Explore MySQL's full stack optimization from application-side configuration to server tuning
Turn traditional database management tasks into automated processes
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
This is the definitive field manual for database engineers and architects who need to run MySQL at serious scale—covering everything from SLO-driven monitoring and InnoDB internals to replication, security, and automation—with hard-won lessons from real-world operations at companies like Twilio and SendGrid.
【Book Arc】
- **Opening (~0%–9%)**: Sets the stage with the book's core promise—moving from "keeping MySQL up" to "operating MySQL as a reliable platform." Introduces the reliability engineering mindset, the importance of service-level objectives (SLOs), and a preview of the full stack: schema design, indexing, query tuning, server configuration, and scaling through replication and high availability.
- **Early (~9%–25%)**: Dives into MySQL's foundational architecture. Explains the layered design (server vs. storage engines), the critical role of the storage engine API, and why InnoDB has become the default and primary focus. Covers locking strategies (table vs. row locks), transaction handling across engines, and the major 8.0 improvements like atomic DDL and the new data dictionary.
- **Early (~25%–34%)**: Transitions from theory to practice with a deep focus on monitoring. Emphasizes measuring outcomes, not outputs—availability, query latency, errors, and replication lag as key SLIs. Warns against alert fatigue and explains why replication lag is both an acute incident trigger and a long-term canary for write capacity issues.
- **Middle (~34%–47%)**: Explores the Performance Schema in detail—the built-in instrumentation framework. Covers instruments, consumers, setup tables, and resource consumption. Highlights the CPU cost of over-instrumentation (e.g., row lock instruments on a million-row scan) and shows how to selectively enable monitoring for specific objects, schemas, or triggers.
- **Middle (~47%–end)**: Expands into the operational layer: replication strategies to fight lag, high availability and failover patterns, security and compliance (HIPAA, GDPR, FedRAMP), secrets management, and role separation. Concludes with practical appendices on upgrading MySQL and running it on Kubernetes, plus a push toward automating traditional DBA tasks.
【Key Takeaways】
- **SLOs are the compass for database operations** (Early): Define SLIs for availability, latency, and errors based on customer experience, not internal metrics. A well-chosen SLO guides architectural decisions and helps you prioritize what to fix first.
- **Replication lag is a dual-purpose signal** (Early): It's an acute SLI that can trigger incidents (e.g., a user's comment not appearing on a lagged replica) and a long-term trend indicating write capacity is being exceeded. Monitor it, but only alert when action is actionable—off-hours alerts must be worth waking someone.
- **InnoDB is now the whole game** (Early): MySQL 8.0 has moved internal bookkeeping (metadata, auth) into InnoDB, bringing atomic DDL, more robust online DDL, and better crash resilience. For nearly every use case, InnoDB is the right storage engine—and you should avoid mixing engines in transactions at all costs.
- **Row locks buy concurrency at a price** (Early): Row-level locking enables high concurrent writes but adds overhead in tracking and cleaning up locks. Table locks are cheaper but block everything. Understanding the trade-off is essential for schema and query design.
- **Performance Schema is powerful but not free** (Middle): Every instrumented call adds CPU overhead—a wait instrument on a million-row scan means a million lock operations, while a statement instrument is a single call. Enable instrumentation selectively via `setup_objects` to balance insight against cost.
- **Say no to averages in long-term metrics** (Middle): Aggregating metrics into averages (as some tools do by default) hides the outliers that cause customer-facing incidents. Choose monitoring solutions that preserve percentiles and distributions for meaningful trend analysis.
- **I/O wait is the next bottleneck after memory** (Early): As data outgrows memory, disk I/O becomes the limiting factor. Monitoring I/O utilization (e.g., with `iostat`) helps you catch degradation before it becomes customer-facing, even on SSDs.
- **Security and compliance are operational, not optional** (Late): Building for compliance controls (HIPAA, GDPR, FedRAMP) requires secrets management, separation of roles and data, and tracking changes—treat these as part of your database platform design, not afterthoughts.
【Reading Tips】
- **Skim the architecture chapters (Early) if you're experienced**: The layered model and InnoDB focus are foundational, but if you already know how MySQL executes queries, jump ahead to monitoring and operations.
- **Deep-read the monitoring and Performance Schema sections (Early–Middle)**: These are the most actionable parts—they teach you what to measure, how to measure it without killing performance, and how to turn metrics into SLOs.
- **Pay special attention to the replication lag discussion (Early)**: It's a recurring theme that ties monitoring to architecture. Understanding it early will make the later replication and high-availability chapters click.
- **Use the appendices as reference, not reading material**: The upgrade guide and Kubernetes appendix are practical checklists—skim them when you need them, not cover-to-cover.
- **Take notes on the "hard lessons"**: The authors share real-world failures (e.g., mixing storage engines, alert fatigue). These are the kind of insights you'll wish you had before an incident.
【Coverage Limits】
This guide covers the book's core arc from architecture and monitoring through operations and security. The excerpts do not cover detailed schema design patterns, specific query optimization techniques, or the full replication and high-availability chapters—those sections are referenced but not deeply excerpted here.
Excerpt 1
64 Examining Variables 66 Examining Most Frequent Errors 70 Examining Performance Schema Itself 71 Summary 73 vi | Table of Contents Health Insurance Portabi...
DE of previous versions. 12 | Chapter 1: MySQL Architecture This change, while much improving the management of data definitions in MySQL, does also require...
one of the first to do that), and that is a big problem. If you need to look at the trend of a metric over a period longer than a few weeks, the average will...
performance_schema, enable instruments of the class memory. Once enabled, you can find details on exactly how memory is used by the internal MySQL structures...
d—that is, to prefetch data it predicts will be needed soon. It has to have somewhere to put the data until it’s requested, though. It can use the RAID cache...
ingle InnoDB tablespace for wasted space in the .ibd files. Even if you enable the innodb_file_per_table option, you’ll still need the main tablespace for th...
11001' (which is the binary equivalent of 57) into a BIT(8) column and retrieve it, you will get the string containing the character code 57. This happens to...
seudorandom values can actually help eliminate “hot spots.” Choosing Optimal Data Types | 143 all examples of schema changes you still cannot do natively wit...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
High Performance MySQL Proven Strategies for Operating at Scale, 4th Edition (Silvia Botros, Jeremy Tinley) (Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
High Performance MySQL Proven Strategies for Operating at Scale, 4th Edition (Silvia Botros, Jeremy Tinley) (Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment