コンテンツへスキップ
uencoder

Index-Only Scan

インデックスオンリースキャン(Index-Only Scan)は、ヒープに触れずインデックスだけからクエリ結果を返す。カバリングインデックスやビジビリティマップにより実現される。

目的

ヒープ参照のランダム I/O を排除し、SELECT 中心のクエリを大幅に高速化する。

メカニズム

クエリの全列がインデックスに含まれ、行の可視性チェックを通れば(PostgreSQL のビジビリティマップ)、インデックスページだけを読む。ビジビリティマップはページ上の全行が現在のスナップショットから可視かを示し、MVCC 可視性のためのヒープ参照を避ける。

ユースケース

  • クエリ最適化
  • I/O の削減
  • パフォーマンスチューニング

関連ツール

References