インデックスの試験問題への適用
インデックス設計問題では、検索条件で何件まで絞れるか、更新量は多いか、範囲検索かを確認する。実行計画の結果も理由とセットで読む。
この単元で学ぶこと
- 高選択性検索の意味と役割を説明できる
- 低選択性列の意味と役割を説明できる
- 範囲条件の意味と役割を説明できる
- 検索・更新特性からインデックス追加の妥当性を判断できる
本文解説
高選択性の頻繁な検索へインデックスを付ける効果は高い一方、少数種類しかない列や大量更新表では費用対効果を検討する。
高選択性検索 条件でごく少数行へ絞れる検索。 索引探索の利点が大きい。
低選択性列 値の種類が少なく多数行が同じ値を持つ列。 単独索引の効果が小さい場合がある。
範囲条件 大小比較やBETWEENで連続範囲を取得する条件。 順序付き索引が候補。
大量更新 短時間に多くのINSERT/UPDATE/DELETEを行う処理。 索引維持コストが効きやすい。
実行計画 DBMSが選んだアクセス経路や結合方法の計画。 索引利用有無の確認に使う。
検索で減る行数と更新で増えるコストを両方評価する。
100万行からID1件を頻繁に取るなら有力。100万行中50万行が同じフラグ値なら単独索引効果は小さい場合がある。
図解
重要ポイント
- 高選択性検索: 条件でごく少数行へ絞れる検索。
- 低選択性列: 値の種類が少なく多数行が同じ値を持つ列。
- 範囲条件: 大小比較やBETWEENで連続範囲を取得する条件。
- 大量更新: 短時間に多くのINSERT/UPDATE/DELETEを行う処理。
- 索引は検索条件との相性で評価する。
間違えやすい点
- 低選択性でも必ず索引が無意味と断定しない。
- 実行計画を見ずに索引利用を決めつけない。
- 検索だけ見て更新負荷を無視しない。
用語解説
- 高選択性検索
- 条件でごく少数行へ絞れる検索。
- 低選択性列
- 値の種類が少なく多数行が同じ値を持つ列。
- 範囲条件
- 大小比較やBETWEENで連続範囲を取得する条件。
- 大量更新
- 短時間に多くのINSERT/UPDATE/DELETEを行う処理。
- 実行計画
- DBMSが選んだアクセス経路や結合方法の計画。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。