インデックスを理解する

インデックスは検索対象列の値と行位置などを別構造で管理し、条件検索を高速化する。高速化の代わりに記憶領域と更新コストが増える。

この単元で学ぶこと

  • インデックスの意味と役割を説明できる
  • B木系の意味と役割を説明できる
  • 選択性の意味と役割を説明できる
  • インデックスの利点・更新コスト・選択性・複合列順を説明できる

本文解説

B木系インデックスは等価検索と範囲検索に使いやすい。選択性が低い列や全件近く取得する問い合わせでは効果が小さいこともある。

インデックス 検索キーと行位置などを管理する検索補助構造。 表本体とは別に保持される。

B木系 キーを順序付けた木構造で管理する方式。 等価・範囲検索に向く。

選択性 条件でどれだけ少数行へ絞れるかを示す性質。 高いほどインデックス効果を得やすい。

更新コスト INSERT/UPDATE/DELETE時にインデックスも更新する負荷。 インデックス数が多いほど増えやすい。

複合インデックス 複数列を順序付きで一つのインデックスにする。 先頭列を含む条件で使いやすい。

検索頻度、絞込み度、更新頻度を比較して効果を判断する。

一意な社員番号で頻繁に検索する表はインデックス効果を得やすいが、男女2値のような低選択性列だけでは効果が小さい場合がある。

図解

インデックスのトレードオフ
検索短縮と記憶領域・更新コストの増加を比較する。

重要ポイント

  • インデックス: 検索キーと行位置などを管理する検索補助構造。
  • B木系: キーを順序付けた木構造で管理する方式。
  • 選択性: 条件でどれだけ少数行へ絞れるかを示す性質。
  • 更新コスト: INSERT/UPDATE/DELETE時にインデックスも更新する負荷。
  • 検索高速化と更新コストのトレードオフ。

間違えやすい点

  • インデックスを増やせば全処理が必ず高速になると考えない。
  • 複合インデックスの列順を無視しない。
  • 表データ自体が並べ替わると決めつけない。

用語解説

インデックス
検索キーと行位置などを管理する検索補助構造。
B木系
キーを順序付けた木構造で管理する方式。
選択性
条件でどれだけ少数行へ絞れるかを示す性質。
更新コスト
INSERT/UPDATE/DELETE時にインデックスも更新する負荷。
複合インデックス
複数列を順序付きで一つのインデックスにする。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。