2010年12月23日

[pgsql-jp: 40640] Re:PostgreSQLキャッシュクリア方法についてご質問

永安です。

On 2010/12/22 16:08, toshihideka4316@xxxxx wrote:
> SQLの速度計測を行うことが多々あるのですが、
> 2度目に実行した場合はキャッシュがきいているのか速度が速くなります。
> (例えば1度目で速度が数十秒であるSQLが2度目以降は1秒かからず返ってきます)
> (サーバ、クライアント共にPostgreSQL8.2.14、ODBCドライバver8.2.4です)
>

> そこで質問なのですが、
> ・キャッシュをクリアする方法は無いでしょうか。
> (サーバの再起動は厳しいです)
> ・または、キャッシュの影響を受けずにSQLの速度計測を行う方法は無いでしょう
> か。

EXPLAIN/EXPLAIN ANALYZE ではだめでしょうか?

「キャッシュ」には、OSバッファとPostgreSQLの共有バッファが
あると思いますが、EXPLAIN/EXPLAIN ANALYZE で出てくるコストは
どちらにもキャッシュの状況には影響を受けなかったと思います。

詳細はこちらの資料をどうぞ。

Explaining Explain PostgreSQLの実行計画を読む
http://lets.postgresql.jp/documents/technical/query_tuning/explaining_explain_ja.pdf/view

ちなみに、「キャッシュをクリアする」というのは
キャッシュされたデータをバッファから追い出すのと同義なので、
大きなデータをスキャンする、大量のメモリを確保する、等によって
実現可能ですが、多少の手間と技術が必要です(昔やってました)。

--
NAGAYASU Satoshi <satoshi.nagayasu@xxxxx>


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




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