インデックスの試験問題への適用

インデックス設計問題では、検索条件で何件まで絞れるか、更新量は多いか、範囲検索かを確認する。実行計画の結果も理由とセットで読む。

この単元で学ぶこと

  • 高選択性検索の意味と役割を説明できる
  • 低選択性列の意味と役割を説明できる
  • 範囲条件の意味と役割を説明できる
  • 検索・更新特性からインデックス追加の妥当性を判断できる

本文解説

高選択性の頻繁な検索へインデックスを付ける効果は高い一方、少数種類しかない列や大量更新表では費用対効果を検討する。

高選択性検索 条件でごく少数行へ絞れる検索。 索引探索の利点が大きい。

低選択性列 値の種類が少なく多数行が同じ値を持つ列。 単独索引の効果が小さい場合がある。

範囲条件 大小比較やBETWEENで連続範囲を取得する条件。 順序付き索引が候補。

大量更新 短時間に多くのINSERT/UPDATE/DELETEを行う処理。 索引維持コストが効きやすい。

実行計画 DBMSが選んだアクセス経路や結合方法の計画。 索引利用有無の確認に使う。

検索で減る行数と更新で増えるコストを両方評価する。

100万行からID1件を頻繁に取るなら有力。100万行中50万行が同じフラグ値なら単独索引効果は小さい場合がある。

図解

インデックス設計の判断軸
選択性、範囲検索、更新頻度、実行計画を合わせて判断する。

重要ポイント

  • 高選択性検索: 条件でごく少数行へ絞れる検索。
  • 低選択性列: 値の種類が少なく多数行が同じ値を持つ列。
  • 範囲条件: 大小比較やBETWEENで連続範囲を取得する条件。
  • 大量更新: 短時間に多くのINSERT/UPDATE/DELETEを行う処理。
  • 索引は検索条件との相性で評価する。

間違えやすい点

  • 低選択性でも必ず索引が無意味と断定しない。
  • 実行計画を見ずに索引利用を決めつけない。
  • 検索だけ見て更新負荷を無視しない。

用語解説

高選択性検索
条件でごく少数行へ絞れる検索。
低選択性列
値の種類が少なく多数行が同じ値を持つ列。
範囲条件
大小比較やBETWEENで連続範囲を取得する条件。
大量更新
短時間に多くのINSERT/UPDATE/DELETEを行う処理。
実行計画
DBMSが選んだアクセス経路や結合方法の計画。

関連教材

参考資料

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

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