IT用語集 › データベース › カバリングインデックス

カバリングインデックス

データベース Svenska → 更新: 2026-10-21

クエリが必要とする列をすべて含むインデックス。テーブルの行を参照せずインデックスだけで答えられる(インデックスオンリースキャン)ため、読み取りが多いクエリで大きな性能向上になる。

PostgreSQLでは CREATE INDEX ON orders (customer_id) INCLUDE (total, status) のように書く。customer_idは検索対象で、total/statusはヒープアクセスを避けるために含める。SQL Serverにも同じINCLUDE構文がある。カバリングでない場合、ヒットごとにテーブルを引く(ヒープフェッチ)ため、I/Oが高くつく。カバリングインデックスならインデックスだけでクエリを「カバー」できる。トレードオフは、インデックスが太るほどディスクを食い、書き込みが遅くなる点だ。Postgresでは、ヒープ参照を省くために可視性マップが最新(autovacuum)である必要もある。頻繁に読まれる経路の古典的な最適化である。

← 用語集に戻る