データキャッシュ
メニューを表示するにはスワイプしてください
データキャッシュは、頻繁にアクセスされるデータをメモリに保存し、クエリのパフォーマンスを向上させ、ディスクからデータを取得する必要性を減少させる手法。
キャッシュ戦略
バッファプール
-
データページ:
- データはディスクから読み込まれる際や書き込まれる際に、データページと呼ばれる固定サイズの単位に整理される;
- これらのデータページは、一時的にDBMSのメモリ内のバッファプール(バッファキャッシュとも呼ばれる)に保存される。
-
キャッシュ置換ポリシー:
- バッファプールの容量には制限があるため、新しいページを読み込む際にどのデータページをメモリに残すかを決定するキャッシュ置換ポリシーが存在する。
-
キャッシュ管理:
- クエリがデータを要求すると、DBMSは必要なデータページがすでにバッファプールに存在するかを確認する;
- データページが**メモリ内(キャッシュヒット)**に存在する場合、バッファプールから取得され、遅いディスクアクセスを回避できる;
- データページが**メモリ内に存在しない(キャッシュミス)**場合、DBMSはディスクからそれらを取得し、将来のアクセスのためにバッファプールへロードする。
クエリ結果キャッシュ
- 一部のDBMSはクエリ結果キャッシュを提供し、頻繁に実行されるクエリの結果をメモリに保存する;
- クエリが実行されると、同じパラメータで以前に実行されたかどうかをシステムが確認し、該当する場合はクエリを再実行せずにキャッシュされた結果を返す。
インデックスキャッシュ
- データページのキャッシュに加え、DBMSはインデックスページもメモリにキャッシュし、インデックスベースのクエリを高速化する場合がある;
- インデックスキャッシュは、ディスク上のインデックス構造全体を走査する必要性を減らし、インデックス付きカラムのクエリパフォーマンスを向上させる。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 5
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 5