EXPLAIN Analyzer

EXPLAIN Analyzer è uno strumento per analizzare e, se si vuole, condividere l'output di EXPLAIN ed EXPLAIN EXTENDED.

Usare Explain Analyzer

L'uso dell'analizzatore è molto semplice.

  1. Nel client mysql, si esegue EXPLAIN su di una query e si copia l'output. Per esempio:
MariaDB [test]> 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)
  1. Si copia l'output nel campo di testo di EXPLAIN Analyzer e si clicca sul bottone "Analyze Explain".
  1. Viene mostrato l'output di EXPLAIN riformattato.

Alcune note:

  • Come si può vedere dall'esempio sopra, non vi è alcun bisogno di eliminare la riga con la query, né il prompt dei comandi.
  • Per salvare l'EXPLAIN, per poterlo poi condividere o per consultarlo in futuro, si clicca prima sul bottone "Save Explain for analysis and sharing" e poi sul bottone "Analyze Explain". Verrà mostrato un link che conduce all'EXPLAIN salvato. Per esempio, l'explain qui sopra può essere visualizzato qui: https://mariadb.org/explain_analyzer/analyze/
  • Alcuni degli elementi presenti nell'EXPLAIN formattato sono cliccabili. Cliccandovi sopra si fa comparire un help contestuale.

Client integrati con Explain Analyzer

Explain Analyzer ha una API che i programmi client possono utilizzare per inviare le EXPLAIN. Gli sviluppatori delle applicazioni client possono trovare maggiori dettagli alla pagina L'API di EXPLAIN Analyzer.

HeidiSQL

HeidiSQL, nella visualizzazione delle query, ha un bottone che invia il comando a Explain Analyzer.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.