Visual EXPLAIN for MySQL
Research a slow query's performance problems on a simple visualization instead of trying to understand MySQL's cryptic output.
Almost Nobody Can Read MySQL’s EXPLAIN Output!
Every software developer is struggling to fix slow MySQL queries.
You are not alone in this.
The “solution” is always to ignore them for now and upgrade the database instance for a quick fix.
But the costs raise quickly this way 👀
The “solution” is always to ignore them for now and upgrade the database instance for a quick fix.
But the costs raise quickly this way 👀
What does ref = const mean?
And select_type = DERIVED?
How about filtered = 21.00 or key_len = 3?
My query is slow!
Is Using filesort or Using temporary the problem? I need help quickly!
Why does f***ing MySQL not use my index?
Look, it is right there!
Bug #112212:
Subquery to derived result mismatch(HASH JOIN/BNL JOIN result mismatch)
“MySQL does not support merging multiple ranges for the range access method for spatial indexes.
To work around this limitation, you can [...]”
Changes in MySQL 8.0.29:
Aggregate queries that performed an index lookup (eq_ref) could in some cases return wrong results.
The EXPLAIN Command Was Not Built for You...
MySQL is a remarkable and complex software that automatically applies many optimizations to your queries.
And with EXPLAIN, its developers can see detailed query execution information to fix and further tune MySQL's query execution logic.
👉 That's why the information seems so cryptic and is not user-friendly!
And with EXPLAIN, its developers can see detailed query execution information to fix and further tune MySQL's query execution logic.
👉 That's why the information seems so cryptic and is not user-friendly!