インデックス
いんでっくす
インデックス(Index)とは、データベース内のテーブルに対する検索速度を劇的に向上させるために作成される、索引データ構造のことである。本の「索引」と同じ役割を果たし、全件走査(フルスキャン)を行わずに目的のデータを素早く特定することを可能にする。
最終更新: 2026/1/28
仕組み
一般的に「B-Tree(B木)」や「ハッシュ」などのアルゴリズムを用いて、データの値と格納場所(ポインタ)を対にして管理します。これにより、データ量が増えても対数時間(O(log n))で検索が可能になります。
メリットとコスト
- メリット:
WHERE句による絞り込みや、ORDER BYによるソート処理が高速化されます。 - コスト: データ書き込み(INSERT/UPDATEr/DELETE)のたびにインデックスも更新する必要があるため、書き込み性能は若干低下します。また、インデックス自体がストレージ容量を消費します。
したがって、すべての列にインデックスを貼るのではなく、検索条件として頻繁に使われる列(カーディナリティが高い列)に絞って設定するのが定石です。
由来・語源
(記述募集中)
使用例
(記述募集中)
関連用語
- 関連: