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