キャッシュメモリとヒット率とは?きゃっしゅめもりとひっとりつ
キャッシュメモリとヒット率とは、主記憶より速く小さい記憶装置をCPUとの間に置き、両者の速度差を埋める仕組み。求めたデータがそこにある割合がヒット率で、実効アクセス時間はヒット率で重み付けした平均になる。同じ考え方が、ディスクと主記憶の差を埋めるDBMSのバッファプールにもそのまま当てはまる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
ディスクからの読み出しはメモリの数百倍から数千倍遅い。1行読むたびにディスクへ行けば、索引を数段たどるだけで応答が数百マイクロ秒に膨らむ。そこでDBMSは読んだページをメモリに保持し、次に同じページを求められたらそこから返す。速度差を階層で埋めるという発想はCPUのキャッシュメモリと同じで、計算の仕方も共通である。
具体例
メモリからのページ読みを0.1マイクロ秒、SSDからの読みを100マイクロ秒とすると、バッファヒット率99%なら実効は0.99×0.1+0.01×100=約1.1マイクロ秒。95%へ落ちると0.095+5=約5.1マイクロ秒で5倍近く遅くなる。この領域の大きさはPostgreSQLならshared_buffers、MySQLならinnodb_buffer_pool_sizeで決める。
試験での引っ掛け
実効アクセス時間の式では、遅い側のアクセス時間に掛けるのはミス率(1−ヒット率)のほう。ヒット率に掛けると答えが逆になる。またバッファヒット率は高いほど良いとは限らず、同じ行を無駄に何度も読む処理があると数字だけ上がる。判断は率ではなく、実際の読み取りページ数と応答時間で行う。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。