[pgsql-jp: 40302] Re: SQL処理時間の計測について

Tomohito Koseki koseki @ sraoss.co.jp
2010年 6月 28日 (月) 16:22:15 JST


戸川様
はじめまして、古跡と申します。

> SQL文の実行時間を取得したいのですが、どの取得方法が正しいのか解らない為、
> ご教授ください。
>
> 1.psql で\timingを実行し、計測したいSQL文を流す。
> 2.explain analyze の処理時間
> 3.postgresql.conf の log_destination = ’syslog’としたログ出力結果の処理時間
> 4.pg_stat_statements のSQLプロファイリングより得られる処理時間
>
> 現状把握している取得方法は以上になります。
> それぞれ取得した場合に、実行結果が異なった為、
> 質問させて頂きました。

どの取得方法を使用しても、基本的には全て正しいです。
クライアントとサーバ間のデータ通信を含むか含まないかの違いが主に現れているだけです。

2 と 3 はクライアントとサーバ間のデータ通信は含まれてませんが、
1 はクライアントとサーバ間のデータ通信は含まれています。

どれか一つの方法に固定して使用されてはいかがでしょうか?

4 と 3 は同じになりそうなのですが、顕著な差がでましたでしょうか?
pg_stat_statements の作者の方からコメントがあるかもしれません。

-- 
--------------------------------------
Tomohito Koseki <koseki @ sraoss.co.jp>
SRA OSS, Inc. Japan
http://www.sraoss.co.jp/
--------------------------------------


pgsql-jp メーリングリストの案内