平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
テクノロジ/データベースB+木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15
- アANDやOR操作だけで行える検索はB+木インデックスの方が有効である。
- イBETWEENを用いた範囲指定検索はビットマップインデックスの方が有効である。
- ウNOTを用いた否定検索はB+木インデックスの方が有効である。
- エ少数の異なる値をもつ列への検索はビットマップインデックスの方が有効である。
正解:エ
解説
ビットマップインデックスは,列がとり得る値ごとにビット列(ビットマップ)を用意し,各行がその値をもつかどうかをビットで表現する索引方式であり,性別や区分コードのように,取り得る値の種類が少ない(カーディナリティが低い)列に対して特に有効である。複数の列に対するビットマップ同士のAND,OR演算も高速に行える。一方,B+木インデックスは,値を順序付けて木構造で管理するため,範囲検索(BETWEENなど)や大小比較といった順序に関する検索に強い。
選択肢ごとの解説
- ア誤り。ANDやOR操作は,複数のビットマップ同士のビット演算として高速に行えるため,B+木インデックスよりもビットマップインデックスの方が有効である。
- イ誤り。BETWEENを用いた範囲指定検索は,値が順序付けて管理されているB+木インデックスの方が,ビットマップインデックスよりも有効である。
- ウ誤り。NOT(否定)を用いた検索は,索引の値の多くを対象とすることが多く,順序付き検索に強いB+木インデックスが特別に有効というわけではない。
- エ正しい。少数の異なる値しかもたない(カーディナリティの低い)列への検索では,値ごとのビットマップを用いて高速に絞り込めるビットマップインデックスの方が有効である。