Index-Only Scan
インデックスオンリースキャン(Index-Only Scan)は、ヒープに触れずインデックスだけからクエリ結果を返す。カバリングインデックスやビジビリティマップにより実現される。
目的
ヒープ参照のランダム I/O を排除し、SELECT 中心のクエリを大幅に高速化する。
メカニズム
クエリの全列がインデックスに含まれ、行の可視性チェックを通れば(PostgreSQL のビジビリティマップ)、インデックスページだけを読む。ビジビリティマップはページ上の全行が現在のスナップショットから可視かを示し、MVCC 可視性のためのヒープ参照を避ける。
ユースケース
- クエリ最適化
- I/O の削減
- パフォーマンスチューニング