Access patterns intrigue me because it seems that everyone knows what they are and talks about them, but there’s also very little written about them—in MySQL literature, at least. That’s why I set out to enumerate a list of access patterns (specific to MySQL). Since there’s no apparent standard for access patterns, I cannot say how my list measures up, but after spending most my career with MySQL, I know this: it is necessary to consider these access patterns when evaluating and improving MySQL performance. Simply put: you cannot ignore how the application accesses MySQL.
Access patterns intrigue me because it seems that everyone knows what they are and talks about them, but there’s also very little written about them—in MySQL literature, at least. That’s why I set out to enumerate a list of access patterns (specific to MySQL). Since there’s no apparent standard for access patterns, I cannot say how my list measures up, but after spending most my career with MySQL, I know this: it is necessary to consider these access patterns when evaluating and improving MySQL performance. Simply put: you cannot ignore how the application accesses MySQL.
Is MySQL performance about “more” or “less”? From the title, you can tell that I’m going to argue that it’s about “less”. Here’s the punchline: zero is maximum performance. Let’s see where this philosophical blog post leads us.
Is MySQL performance about “more” or “less”? From the title, you can tell that I’m going to argue that it’s about “less”. Here’s the punchline: zero is maximum performance. Let’s see where this philosophical blog post leads us.
Is MySQL performance about “more” or “less”? From the title, you can tell that I’m going to argue that it’s about “less”. Here’s the punchline: zero is maximum performance. Let’s see where this philosophical blog post leads us.
As of MySQL 8.0.18, EXPLAIN ANALYZE
is an
indispensable tool for understanding query execution because it
breaks down the query execution stage of response time by
measuring each step of the query execution plan. The information
is illuminating, but the output is not intuitive: it requires
practice and some understanding of how MySQL executes queries
beyond the table join order shown by traditional
EXPLAIN
output. This blog post closely examines
three different examples of EXPLAIN ANALYZE
output.
As of MySQL 8.0.18, EXPLAIN ANALYZE
is an
indispensable tool for understanding query execution because it
breaks down the query execution stage of response time by
measuring each step of the query execution plan. The information
is illuminating, but the output is not intuitive: it requires
practice and some understanding of how MySQL executes queries
beyond the table join order shown by traditional
EXPLAIN
output. This blog post closely examines
three different examples of EXPLAIN ANALYZE
output.
As of MySQL 8.0.18, EXPLAIN ANALYZE
is an
indispensable tool for understanding query execution because it
breaks down the query execution stage of response time by
measuring each step of the query execution plan. The information
is illuminating, but the output is not intuitive: it requires
practice and some understanding of how MySQL executes queries
beyond the table join order shown by traditional
EXPLAIN
output. This blog post closely examines
three different examples of EXPLAIN ANALYZE
output.
Editors and technical reviewers suggested that I cover how to configure MySQL query metrics in chapter 1 of Efficient MySQL Performance, but I deferred because it was out of scope for the book, which focuses on engineers using MySQL, not DBAs. As such, there’s only a note in chapter 1 that says: “Ask your DBA or read the MySQL manual.” But I’ll cover the topic here because that’s what this blog post series is for: behind the book.
Editors and technical reviewers suggested that I cover how to configure MySQL query metrics in chapter 1 of Efficient MySQL Performance, but I deferred because it was out of scope for the book, which focuses on engineers using MySQL, not DBAs. As such, there’s only a note in chapter 1 that says: “Ask your DBA or read the MySQL manual.” But I’ll cover the topic here because that’s what this blog post series is for: behind the book.