インデックス(索引)とは?いんでっくす
インデックス(索引)とは、列の値と、その値を持つ行の格納位置とを対応付けて別に保持し、全表走査を避けて目的の行へ到達させる仕組み。多くのDBMSはB+木で実装しており、等値検索だけでなく範囲検索や整列、一意性の担保にも効く。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
表の行数が増えると、条件に合う行を探す時間は行数に比例して伸びる。数千万行の表を毎回頭から読む運用は成り立たないため、探索用の並びを別に持ち、二分探索の要領でたどれる構造が必要になった。ただしこの構造は元データと同期し続けなければならず、行を書き換えるたびに更新の費用が発生する。どの列に張るかは、この読みと書きの取引で決まる。
具体例
PostgreSQL で会員番号にB+木インデックスを張れば、1,000万行から1件を引く処理が全表走査から数回の節点読みに縮む。一方、認証ログのように毎秒挿入が続く表へ不要なインデックスを重ねると、書込み側が目に見えて遅くなる。
試験での引っ掛け
張れば必ず速くなるわけではない。値の種類が少ない列(性別・フラグ)では絞り込みが効かず、DBMSが全表走査を選ぶこともある。列を関数や演算で加工した条件、前方一致でない中間一致の検索ではインデックスが使われない点も頻出。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。