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」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。