MySQL Visual Explain

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 👀
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!
Do You Want to Learn More About Indexes?
I've built this tool to help with query optimization because understanding the MySQL EXPLAIN output is painful - even with years of experience. But there's more I can help you with:
I've written a novel book that teaches simple rules to create a perfect index for any query. It is enriched with dozens of illustrations so learning everything about query tuning is entertaining instead of daunting.
Check it out!