/ 最近 .rdf 追記 編集 設定 本棚

脳log[20060702] EXPLAIN QUERY PLAN sql-statement;



2006年07月02日 (日)

[SQLite] EXPLAIN QUERY PLAN sql-statement;

知らない。知らないよこんな便利なコマンド。

EXPLAIN sql-statement;

ならドキュメントに載ってるけど、これが返すのは

0|Integer|5|0|
1|MustBeInt|0|0|
2|MemStore|0|0|
3|IfMemZero|0|25|
4|IfMemPos|0|8|
5|Pop|1|0|
……

みたいな SQLがコンパイルされた結果の、VMが逐一実行する命令のリストだから腰を据えないと解読できない。

それに対して

EXPLAIN QUERY PLAN sql-statement;

が返すのは

0|0|TABLE MyBooks USING PRIMARY KEY

みたいな、テーブルに対する問い合わせのリスト。インデックスが使われるのかどうかもわかる。

EXPLAIN QUERY PLANを発見
http://www.sqlite.org/cvstrac/tktview?tn=1878 (SQLite CVSTrac)
SQLite 3.2.6から追加された実験的なコマンドだって
http://www.sqlite.org/cvstrac/wiki?p=QueryPlans (SQLite CVSTrac)