2011年8月12日

[pgsql-jp: 40884]auto_explainの実行計画について

お世話になります。野沢と申します。

【背景】
コネクションプーリングを行っているような状況で
PostgreSQLプロセスの実行計画情報がどのようなタイミングで
更新されるかどうか実験したいと考えております。

下記の資料では、

http://www.postgresql.jp/events/pgcon2011/C-2.pdf

------------------------------------
8.2以前での利用について
?8.3以降のPrepared StatementはANALYZE,VACUUM,DDLの変更の度に、
実行プランを再作成するが、8.2以前では最初に生成した実行プランを使い続けるため、
悪影響を及ぼす可能性あり。
------------------------------------

との記載があり、
ANALYZE or VACUUM ANALYZE or autovacuumにより、
8.2以前でも統計情報は更新されるが、
Prepared StatementによるSQLでは、
Plannerは最初に生成した実行プランを使い続ける認識です。

【質問】
tomcatのコネクションプーリングであるDBCPを使い、
PostgreSQLプロセスを複数常駐させ、Prepared StatementされたSQLの実行計画を
contrib/auto_explainによりログに出力させることにより
ANALYZE後、8.2以前と8.3以降で実行計画が8.3以降のみ変わることを
確認しようと考えております。

contrib/auto_explainはPrepared StatementされたSQLの実行計画を
出力させることは可能でしょうか。
それとも、最新の統計情報を元に生成した実行計画を
出力させるのでしょうか。

ご存知の方がいらっしゃいましたらご教授ください。


以上、よろしくお願い致します。

投稿者 xml-rpc : 2011年8月12日 21:59
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105694
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。