IPA公式正解:エ 少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。ビットマップインデックスは、性別や血液型のようにカーディナリティ(値の種類数)が小さい列に対して非常に有効であり、各値ごとに各行に対応するビット列(0または1)を保持して高速なビット論理演算を行います。
【詳細解説】■ 本問の核心・解法のポイント
「B+木インデックス」と「ビットマップインデックス」の特性の違いを比較する問題です。B+木インデックスはカーディナリティ(値の種類の多さ)が高い列(社員番号や日時など)や範囲検索(BETWEEN等)に適しています。一方、ビットマップインデックスはカーディナリティが低い列(性別、フラグ、区分など)に適しており、複数条件の論理演算(AND, OR, NOT)をビット演算で高速に行える特徴があります。
・各選択肢の徹底解説:
・ア:AND操作やOR操作などの論理演算は、ビット列に対するビット演算で一括処理できるビットマップインデックスの方が有効です。
・イ:BETWEENによる範囲指定検索は、リーフノードがソートされて双方向リストで結ばれているB+木インデックスの方が有効です。
・ウ:NOTを用いた否定検索は、B+木では基本的にインデックスが利用しにくいのに対し、ビットマップインデックスではビット反転操作によって容易かつ高速に処理できます。
・エ:【選択肢エ★】性別やフラグのように「少数の異なる値をもつ(カーディナリティが低い)列」への検索は、データサイズが小さくビット演算が活用できるビットマップインデックスが極めて有効です。
よって正解はエです。