The EXPLAIN Analyzer is no longer active.
The EXPLAIN Analyzer was an online tool for analyzing and optionally sharing the output of both EXPLAIN and EXPLAIN EXTENDED.
Using the analyzer is very simple.
In the mariadb client, run EXPLAIN on a query and copy the output. For example:
Paste the output into the and click the "Analyze Explain" button.
The formatted EXPLAIN is shown. You can now click on various part to get more information about them.
As you can see in the example above, you don't need to chop off the query line or the command prompt.
To save the EXPLAIN, so you can share it, or just for future reference, click the "Save Explain for analysis and sharing" button and then click the "Analyze Explain" button. You is given a link which leads to your saved EXPLAIN. For example, the above explain can be viewed here:
Some of the elements in the formatted EXPLAIN are clickable. Clicking on them will show pop-up help related to that element.
The Analyzer has an API that client programs can use to send EXPLAINs. If you are a client application developer, see the EXPLAIN Analyzer API page for details.
The following clients have support for the EXPLAIN Analyzer built in:
has a button when viewing a query that sends the query to the explain analyzer.
CC BY-SA / Gnu FDL
EXPLAIN Analyzer is no longer active.
The online EXPLAIN Analyzer tool has an open API to allow client applications to send it EXPLAINs.
To send an EXPLAIN to the EXPLAIN Analyzer, simply POST or GET to the following address:
Replace "EXPLAIN" with the output of the EXPLAIN command and "CLIENT" with the name of your client.
If you like, you can have a banner promoting your client appear at the bottom of the page. Once you've added support for the EXPLAIN Analyzer to your client application, just send a logo, the name of your client, and what you want the name and logo to link to to bryan AT montyprogram DOT com.
CC BY-SA / Gnu FDL
mariadb.org/explain_analyzer/api/1/?raw_explain=EXPLAIN&client=CLIENTEXPLAIN SELECT * FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.a=t2.a AND t2.a=t3.a;
+------+-------------+-------+------+---------------+------+---------+------+------+--------------------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+-------+------+---------------+------+---------+------+------+--------------------------------------------------------+
| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 3 | |
| 1 | SIMPLE | t2 | ALL | NULL | NULL | NULL | NULL | 3 | Using where; Using join buffer (flat, BNL join) |
| 1 | SIMPLE | t3 | ALL | NULL | NULL | NULL | NULL | 3 | Using where; Using join buffer (incremental, BNL join) |
+------+-------------+-------+------+---------------+------+---------+------+------+--------------------------------------------------------+
3 rows in set (0.00 sec)