製品

Percona

pt-visual-explain

コマンド

pt-visual-explain [ オプション ] [ ファイル名 ]

目的

EXPLAIN文を元に、クエリの構成をツリー構造で出力します

シナリオ

まずはEXPLAIN文の実行結果を入力したファイルを用意します
“employees”データベースの”employees”テーブルから、200000 < emp_no < 300000 のレコードをセレクトする、というクエリのEXPLAIN結果を pt-visual-explain.txt というファイルに出力させます

#  mysql -u root -e "EXPLAIN SELECT * FROM employees WHERE emp_no > 200000 \
> AND emp_no < 300000" employees > /tmp/pt-visual-explain_result.txt

そのファイルを、pt-visual-explain で読み取ります

# pt-visual-explain /tmp/pt-visual-explain_result.txt

結果

以下のようなツリー構造が標準出力されます

[root@localhost ~]# pt-visual-explain /tmp/pt-visual-explain_result.txt
Filter with WHERE
+- Bookmark lookup
   +- Table
   |  table          employees
   |  possible_keys  PRIMARY
   +- Index range scan
      key            employees->PRIMARY
      possible_keys  PRIMARY
      key_len        4
      rows           149822
[root@localhost ~]#

良い点

EXPLAINの結果を視覚的に分かりやすく表示できます

その他

EXPLAIN文をパイプで引き渡すこともできます?

# mysql -e "EXPLAIN SELECT * FROM mysql.user" | pt-visual-explain