平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
テクノロジ/データベースB⁺木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
- アAND操作やOR操作だけで行える検索は,B⁺木インデックスの方が有効である。
- イBETWEENを用いた範囲指定検索は,ビットマップインデックスの方が有効である。
- ウNOTを用いた否定検索は,B⁺木インデックスの方が有効である。
- エ少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
正解:エ
解説
B⁺木インデックスは値の大小順に整列された木構造であるため,範囲指定検索(BETWEENなど)や否定検索(NOTなど)に適しています。一方,ビットマップインデックスは列がとり得る値ごとにビット列を用意する方式であるため,値の種類が少ない(低カーディナリティの)列や,複数条件のAND・ORをビット演算で高速に処理する検索に適しています。
選択肢ごとの解説
- ア誤り。AND操作やOR操作はビット列同士の論理演算で効率よく処理できるため,むしろビットマップインデックスの方が有効です。
- イ誤り。BETWEENによる範囲指定検索は,値が順序付けられて格納されているB⁺木インデックスの方が有効です。
- ウ誤り。NOTによる否定検索は,該当ビットを反転するだけで済むビットマップインデックスの方が有効です。
- エ正しい。取り得る値の種類が少ない(カーディナリティが低い)列への検索は,各値ごとのビット列を用いて絞り込めるビットマップインデックスの方が有効です。