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