GLOSSA

インデックス

いんでっくす

Index

一言でいうと

データベースの検索を高速化するための「索引」のこと。

詳しい意味

インデックスは、データベース上で検索を高速化するための「索引」です。本の最後にある索引(巻末索引)と同じ仕組みで、目的のデータを全件走査せずに直接見つけ出せます。よく検索される列(メールアドレス、ユーザーID、日付など)にインデックスを張ると、クエリが何倍〜何百倍も速くなります。一方、インデックスが多すぎると書き込みが遅くなる・容量を食う、というトレードオフがあります。「どの列にインデックスを張るか」「複合インデックスの順序はどうするか」が性能設計の腕の見せどころです。

何に使うか

頻繁に検索される列のクエリを高速化したいとき。スロークエリログを改善するとき。新しい検索画面を追加した後の性能チューニング。

どんな時に出るか

「インデックスを張る」「インデックスが効いてない(フルスキャンになっている)」「複合インデックス」といった場面で登場します。

具体例

  • user_id にインデックスを張って、ログ検索のクエリが3秒から30msに改善した。
  • インデックスが多すぎてINSERTが遅くなったので、使われていないインデックスを削除した。

別名・略称

index(いんでっくす)索引(さくいん)

関連語

データベースSQL

初心者向けメモ

辞書や本の索引と同じ役割です。500ページの本から特定の用語を探す時、巻末索引があれば該当ページにすぐ飛べます。無ければ最初から1ページずつめくる羽目になります。データベースも同じです。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます