5

Postgresコマンドラインクライアントpsqlで、クエリがディスクから実行されているのか、メモリキャッシュから実行されているのかを判断する方法はありますか?

4

1 に答える 1

8

クエリが「ディスクから」または「キャッシュから」実行されることはありません。クエリ自体は常にメモリ内にあります。

ただし、データが共有バッファから取得されたのか、ファイルシステムから直接取得されたのかを知りたい場合は、次を使用できます。

explain (analyze on, buffers on, verbose on) 
select ....

実行プランには、共有バッファからフェッチされたブロックの数とファイルシステムからフェッチされたブロックの数が表示されます。ファイルシステムからの「読み取り」は実際にはキャッシュから返される可能性があり、ファイルシステムは独自のキャッシュを管理することに注意してください(Postgresが依存しているもの)。

于 2012-08-23T17:42:52.040 に答える