平成30年度 春期 データベーススペシャリスト試験 午前II 問15
【問題15】
B⁺木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。
AND 操作や OR 操作だけで行える検索は,B⁺木インデックスの方が有効である。
BETWEEN を用いた範囲指定検索は,ビットマップインデックスの方が有効である。
NOT を用いた否定検索は,B⁺木インデックスの方が有効である。
少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
【解説】
B⁺木インデックス と ビットマップインデックス の特徴は次の通りです:
【B⁺木インデックス】
- 範囲検索や動的なデータ更新に向いています。
- BETWEEN や <, > などの範囲指定検索では高いパフォーマンスを発揮します。
- 否定検索(NOT)は効果的ではありません。
【ビットマップインデックス】
- カーディナリティが低い(異なる値の種類が少ない)列に向いています。
- AND, OR, NOT のような論理演算に特化しています。
- 範囲検索には適さない場合があります。
- 主にデータが静的で頻繁な更新がない場合に適しています。
各選択肢の評価
ア: AND 操作や OR 操作だけで行える検索は,B⁺木インデックスの方が有効である。
誤り。論理演算(AND, OR, NOT)にはビットマップインデックスが向いています。
イ: BETWEEN を用いた範囲指定検索は,ビットマップインデックスの方が有効である。
誤り。範囲指定検索には B⁺木インデックスの方が適しています。
ウ: NOT を用いた否定検索は,B⁺木インデックスの方が有効である。
誤り。否定検索(NOT)はビットマップインデックスの得意分野です。
エ: 少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
正しい。ビットマップインデックスはカーディナリティが低い(異なる値が少ない)列で特に有効です。
【答え】
エ: 少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
出典:平成30年度 春期 データベーススペシャリスト試験 午前II 問15