“部品”表のメーカコード列に対し,B+木インデックスを作成した。これによって,“部品”表の検索の性能改善が最も期待できる操作はどれか。ここで,部品及びメーカのデータ件数は十分に多く,“部品”表に存在するメーカコード列の値の種類は十分な数があり,かつ,均一に分散しているものとする。また,“部品”表のごく少数の行には,メーカコード列にNULLが設定されている。実線の下線は主キーを,破線の下線は外部キーを表す。 部品(部品コード,部品名,メーカコード) メーカ(メーカコード,メーカ名,住所)
B+木インデックスは絞り込みの効く範囲・等値検索で効果が大きい。
選択肢
- アメーカコードの値が1001以外の部品を検索する。
- イメーカコードの値が1001でも4001でもない部品を検索する。
- ウメーカコードの値が4001以上,4003以下の部品を検索する。
- エメーカコードの値がNULL以外の部品を検索する。
正解と解説
正解:ウ メーカコードの値が4001以上,4003以下の部品を検索する。
B+木インデックスは葉ノードがキー順に連結されているため、ある範囲に収まる値を探す検索や、特定の値に等しい行を探す検索で効率がよい。値の種類が多く均一に分散している状況で、限られた範囲だけを取り出す検索は、絞り込みが強く働くのでインデックスの効果が大きい。一方、否定条件のように表の大部分が該当する検索では、表全体を読むほうが速く、インデックスは活かせない。
選択肢ごとの解説
- アある値以外という条件はほぼ全行が該当し、インデックスを使う利点が小さい。
- イ二つの値を除く条件も該当行が大多数となり、全表走査のほうが効率的。
- ウ正しい。狭い範囲を指定する検索はB+木の範囲検索が最も効く。
- エNULL以外という条件はごく少数の行を除くだけで、絞り込みにならない。
この問題は2回出題されています
- 2017年度 春期 午前 問28この問題の代表ページ
- 2018年度 秋期 午前 問29(このページ)
同じ分野の他の問題
- “売上”表への次の検索処理のうち、B木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで、イ…2025年度 秋期 午前 問27
- SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき,削除した行の商品コードと同…2025年度 春期 午前 問27
- 関係を第2正規形から第3正規形に変換する手順はどれか。2025年度 春期 午前 問26
- UMLを用いて表した図のデータモデルを関係データベース上に実装する際の解釈のうち,適切なものはどれか。2025年度 春期 午前 問25
- 次のオブジェクト図(インスタンスを表す図)に対応する概念データモデルはどれか。ここで、オブジェクト図及び概念データモデル…2024年度 秋期 午前 問29
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。