データベーススペシャリスト 平成30年春期 午前U 問15

午前U 問15

B+木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。
  • AND操作やOR操作だけで行える検索は,B+木インデックスの方が有効である。
  • BETWEENを用いた範囲指定検索は,ビットマップインデックスの方が有効である。
  • NOTを用いた否定検索は,B+木インデックスの方が有効である。
  • 少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
  • [この問題の出題歴]
  • データベース H23特別 問16
  • データベース H25春期 問15
  • データベース H27春期 問15

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

それぞれのインデックス法には次のような特徴があります。
B+木インデックス
木の深さが一定で葉のみが値をもつ平衡木を用いたインデックスで現在最も普及している。データ量が増加してもパフォーマンスの低下が少なく、どのキー値に対してもランダム検索や範囲検索、挿入・更新・削除を効率よく行うことができる。しかしデータの分布に偏りがある場合や、NULL値及び否定を含む検索条件では効果を発揮できない。
ビットマップインデックス
キーが取り得る値の種類が数個程度と少ない場合に適したインデックスで、それぞれのキー値と対応するビットマップ(0,1の配列)を作成する。B+インデックスとは異なりNULL値の検索ができ、WHERE句にANDやORなどが含まれる検索を高速に実行できるメリットがある。ただし挿入・更新・削除には時間が掛かる。データウェアハウス環境で広く使用されている。
  • ANDやORだけで行う検索は、ビット演算を使用できるビットマップインデックスの方が高速に行えます。
  • 範囲指定検索はB+木インデックスの方が有効です。
  • NOTや"!=","<>"を用いた否定検索にはB+木インデックスが効かないため、ビットマップインデックスの方が有効です。
  • 正しい。ビットマップインデックスは行数に対して少ない種類の値しかとらない列で有効なインデックスです。
© 2016-2018 データベーススペシャリストドットコム All Rights Reserved.

Pagetop