EXPLAIN (ANALYZE, BUFFERS) の使い方

本当に実行して計画を測る

書き方

EXPLAIN (ANALYZE, BUFFERS) SELECT …;
BEGIN; EXPLAIN (ANALYZE) UPDATE …; ROLLBACK;

実際に実行して、ノードごとの見積もり(cost・rows)と実際(actual time・rows)、読んだブロック(Buffers: shared hit はキャッシュ、read はディスク)を見せます。見積もりと実際の行の数が大きく違うときは、統計が古いことが多いです。UPDATE などは本当に書き換えるので、BEGIN と ROLLBACK で包みます。

例

EXPLAIN (ANALYZE, BUFFERS) SELECT * FROM orders WHERE customer_id = 42;

実際に打って練習する

PostgreSQL DBA コースの Lv48「実行計画を測る EXPLAIN ANALYZE」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

PostgreSQL の管理コマンド一覧(DBA)へ戻る