平成25年度 春期 午前Ⅱ 問15
トランザクション処理
インデックスを比較した説明
B^+木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。
- アAND や OR 操作だけで行える検索は B^+木インデックスの方が有効である。
- イBETWEEN を用いた範囲指定検索はビットマップインデックスの方が有効である。
- ウNOT を用いた否定検索は B^+木インデックスの方が有効である。
- エ少数の異なる値をもつ列への検索はビットマップインデックスの方が有効である。
答えと解説を見る
✓ これが正解エ少数の異なる値をもつ列への検索はビットマップインデックスの方が有効である。
解説
異なる値が少ない列の検索には、ビットマップインデックスが向いています。
ビットマップインデックスは、列がとり得る値ごとに、各行がその値をもつかどうかを0と1のビット列で表す索引です。値の種類が少ない列、例えば性別や血液型のような列では、ビット列の本数が少なくて済み、索引全体が小さくなります。B^+木インデックスは値の大小順に並んだ木構造で、値の種類が多い列でも、キー値から行を効率よくたどれます。値の種類が少ないと一つのキーに大量の行が対応し、木をたどる利点が薄れます。値の種類が少ない列にはビット列、多い列や大小を使う検索には木構造、と組で覚えると判断できます。
ほかの選択肢はなぜ違うのか
- アAND や OR 操作だけで行える検索は…:AND や OR の組合せは、ビット列どうしのビット演算でそのまま計算できます。複数の条件を組み合わせる検索はビットマップインデックスの得意な処理で、B^+木インデックスの方が有効とはいえません。
- イBETWEEN を用いた範囲指定検索はビ…:BETWEEN の範囲指定は、値が大小順に並んだ B^+木インデックスなら、範囲の端から順にたどれます。値ごとに別々のビット列をもつ方式では、範囲に入る値の数だけビット列を合わせる必要があり、有利とはいえません。
- ウNOT を用いた否定検索は B^+木イン…:NOT による否定は、ビット列の0と1を反転するだけで求められます。否定検索はビットマップインデックスの方が扱いやすく、B^+木インデックスでは除外する値以外のキーを広くたどることになります。
この問題の用語
- OR数学の手法を使って、いくつかの案から最も有利なものを選ぶ考え方です。期待される費用や利益を計算して比べるときに使います。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
同じ用語が出る問題
- 令和6年度 秋期 午前Ⅱ 問10:副問合せに関する問題(OR)
- 令和5年度 秋期 午前Ⅱ 問10:COALESCEに関する問題(OR)
- 令和4年度 秋期 午前Ⅱ 問12:相関副問合せに関する問題(OR)
- 平成30年度 春期 午前Ⅱ 問15:インデックスを比較した説明(OR)
- 平成27年度 春期 午前Ⅱ 問15:インデックスを比較した説明(OR)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)