"部品"表のメーカーコード列に対し、B+木インデックスを作成した。これによって、"部品"表の検索の性能改善が最も期待できる操作はどれか。ここで、部品及びメーカーのデータ件数は十分に多く、"部品"表に存在するメーカーコード列の値の種類は十分な数があり、かつ、均一に分散しているものとする。また、"部品"表のごく少数の行には、メーカーコード列にNULLが設定されている。実線の下線は主キーを、破線の下線は外部キーを表す。 部品(部品コード, 部品名, メーカーコード) メーカー(メーカーコード, メーカー名, 住所)
B+木索引が効くのは値の順序を活かせる範囲検索
選択肢
- アメーカーコードの値が1001以外の部品を検索する。
- イメーカーコードの値が1001でも4001でもない部品を検索する。
- ウメーカーコードの値が4001以上、4003以下の部品を検索する。
- エメーカーコードの値がNULL以外の部品を検索する。
正解と解説
正解:ウ メーカーコードの値が4001以上、4003以下の部品を検索する。
B+木は葉ノードがキー値の順に並んでいるため、範囲の下限を索引で探し当てた後は葉をたどるだけで該当行を集められる。一方、否定条件やNULL以外といった条件は対象がほぼ全件に及ぶので、索引を経由するより表を直接走査したほうが速く、性能改善は期待できない。よってウが最も効果を見込める。
選択肢ごとの解説
- ア特定の値以外という条件は大半の行が該当するため、索引をたどる利点がない。
- イこちらも除外する値を増やしただけで、依然としてほとんどの行が該当し索引が効かない。
- ウ正解。値の範囲を指定する検索は、B+木の葉が順序を保っていることを活かせる典型的な用途である。
- エNULLがごく少数なので、NULL以外の条件はほぼ全件が該当し、索引による絞り込みにならない。
同じ分野の他の問題
- RDBMSのクラスタ化インデックスに関する記述のうち、適切なものはどれか。2025年度 秋期 午前II 問13
- 転置インデックスに関する記述として、適切なものはどれか。2024年度 秋期 午前II 問4
- 関係データベースのテーブルにレコードを1件追加したところ、インデックスとして使う、B+木のリーフノードCがノードC1とC…2024年度 秋期 午前II 問3
- B+木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB+木インデック…2023年度 秋期 午前II 問4
- B+木インデックスとビットマップインデックスを比較した説明のうち、適切なものはどれか。2018年度 春期 午前II 問15
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。