Slow Queries
One common issue with SQL applications is performance regression. In this section, I’ll describe some basic actions to take when you hit performance problems. Don’t worry about the details; just pick up the essential ideas. As your knowledge deepens, you’ll find yourself using them in a more educated and therefore more effective manner.
When I considered which problems to include in this chapter, I questioned whether I should mention performance problems at all. There are a lot of sources describing performance issues in detail, starting with the wonderful “Optimization” chapter in the MySQL Reference Manual and extending to books published by O’Reilly. I will add a short overview of useful sources at the end of this book. One can easily spend one’s career on this subject or drown in the flood of available information.
I will be speaking here mostly about SELECT queries. At the end of this section, I
briefly address how to deal with a slow query that modifies data.
Three main techniques will help you work on slow queries: tuning the query itself, tuning your tables (including adding indexes), and tuning the server. Let’s look at them in detail.
Tuning a Query with Information from EXPLAIN
The most powerful tool for query tuning is our old
acquaintance EXPLAIN. This statement
provides information about how the server actually executes a query.
Details of MySQL EXPLAIN are covered
quite well in the MySQL Reference Manual, and I will not repeat that information here. Rather, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access