All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Analyzing Tools

EXPLAIN Analyzer

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

Using the analyzer is very simple.

In the mariadb client, run EXPLAIN on a query and copy the output. For example:

  1. Paste the output into the and click the "Analyze Explain" button.

  2. The formatted EXPLAIN is shown. You can now click on various part to get more information about them.

Some Notes:

  • 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.

Clients which integrate with the Explain Analyzer

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:

HeidiSQL

has a button when viewing a query that sends the query to the explain analyzer.

CC BY-SA / Gnu FDL

EXPLAIN Analyzer API

EXPLAIN Analyzer is no longer active.

The online EXPLAIN Analyzer tool has an open API to allow client applications to send it EXPLAINs.

Sending EXPLAINs to the EXPLAIN Analyzer

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.

Client Banner

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

EXPLAIN Analyzer input box
HeidiSQL
mariadb.org/explain_analyzer/api/1/?raw_explain=EXPLAIN&client=CLIENT
EXPLAIN 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)