キャッシュヒット率を調べる

[事前作業]
統計情報を収集するために'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 ;