ビットマップインデックスとは?ビットマップインデックス
ビットマップインデックスとは、列が取り得る値ごとに、その値を持つ行を1、持たない行を0としたビット列を用意して保持する索引をいう。値の種類が少ない列で効き、複数条件のAND/ORを対応するビット列の論理演算だけで解決できるため、集計系の検索を大きく速められる。
最終更新:2026-10-06
情報処理安全確保支援士を最短で暗記・合格する →背景
B-treeは値ごとに枝をたどって行を絞り込む構造なので、性別や区分のように値が数種類しかない列では、たどった先に表の半分が並んでいて絞り込みにならない。集計や分析の問合せは、そうした低カーディナリティの列を何本も組み合わせて条件にするのが常で、その形に合わせて条件の組合せ自体をビット演算で処理する索引が求められた。
具体例
Oracle DatabaseはCREATE BITMAP INDEXでこの索引を作れる。性別・都道府県・会員区分のように値の少ない列にそれぞれ張っておけば、「東京都の女性の有料会員」という3条件はビット列のANDを取るだけで該当行が求まり、条件の組合せが事前に分からない分析用途で強い。
試験での引っ掛け
値の種類が多い列に張らないこと。ビット列の本数が値の種類だけ増え、容量も更新負荷も膨らむ。また1行の更新で対応するビット列全体にロックがかかりやすく、更新が絶え間なく走るOLTPには向かない。データウェアハウス向きで、OLTPはB-treeという使い分けが問われる。
関連用語
出典・参考
公式シラバスの3 技術要素 > 4. トランザクション処理 > (4) データベースの性能向上に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。