キャッシュヒット率を調べる
[事前作業]
統計情報を収集するために'true'に設定する
$ vi $PGDATA/postgresql.conf +stats_start_collector = true +stats_command_string = true +stats_block_level = true +stats_row_level = true +stats_reset_on_server_start = true
[キャッシュの格納]
SELECTした結果をshared_buffersに格納し、2回目以降のアクセス時に共有バッファから取り出す。
ということで、SELECTして得られるデータサイズを格納できるshared_buffersを設定する。
[キャッシュヒットを確認する]
psql> SELECT relname, heap_blks_read, -- ディスクから読み込んだブロック数 heap_blks_hit, -- キャッシュにヒットしたブロック数 idx_blks_read, -- ディスクから読み込んだブロック数(インデックス) idx_blks_hit, -- キャッシュにヒットしたブロック数(インデックス) toast_blks_read, -- ディスクから読み込んだブロック数(TOAST) toast_blks_hit, -- キャッシュにヒットしたブロック数(TOAST) tidx_blks_read, -- ディスクから読み込んだブロック数(TOASTのインデックス) tidx_blks_hit -- キャッシュにヒットしたブロック数(TOASTのインデックス) FROM pg_statio_user_tables ;