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.
- 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)
- Si copia l'output nel campo di testo di
EXPLAIN
Analyzer e si clicca sul bottone "Analyze Explain".
- 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.
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.