戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2011年 秋期 午前232


問題文

部品表のメーカコード列に対し,B+木インデックスを作成した。これによって、検索の性能改善が最も期待できる操作はどれか。ここで、部品及びメーカのデータ件数は十分に多く、メーカコードの値は均一に分散されているものとする。また、ごく少数の行には、メーカコード列にNULLが設定されている。

選択肢

メーカコードの値が1001以外の部品を検索する。
メーカコードの値が1001でも4001でもない部品を検索する。
メーカコードの値が4001以上,4003以下の部品を検索する。(正解)
メーカコードの値がNULL以外の部品を検索する。

部品表のメーカコード列に対しB+木インデックスを作成した場合の検索性能改善【午前2 解説】

要点まとめ

  • 結論:B+木インデックスは範囲検索に強く、連続した値の範囲指定検索で最も性能向上が期待できる。
  • 根拠:B+木は葉ノードが連結リストでつながっており、範囲内のデータを順次読み出すのに適しているため。
  • 差がつくポイント:単一値や否定条件の検索はインデックスの恩恵が限定的だが、範囲指定は効率的にアクセスできる点を理解すること。

正解の理由

選択肢ウ「メーカコードの値が4001以上,4003以下の部品を検索する」は範囲検索に該当し、B+木インデックスの特性を最大限活かせます。B+木は葉ノードが連結されているため、範囲内の複数レコードを効率的に順次読み出せ、ディスクI/Oを最小化します。これにより検索性能が大幅に改善されます。

よくある誤解

単一値の検索や否定条件(特定の値以外を検索)はインデックスの効果が薄いと誤解されがちですが、特に否定条件は全件スキャンに近くなるため注意が必要です。

解法ステップ

  1. B+木インデックスの構造と特徴を理解する。
  2. 範囲検索が効率的に行えることを確認する。
  3. 各選択肢の検索条件が単一値、範囲、否定条件のどれに該当するか分類する。
  4. 範囲検索の選択肢を特定し、B+木の利点が活かせるものを選ぶ。
  5. NULL値の扱いはインデックスに影響しにくいことを考慮する。

選択肢別の誤答解説

  • ア: 単一値検索であり、B+木の効果はあるが範囲検索ほど大きくない。
  • イ: 複数の値を除外する否定条件で、インデックスが使いにくく全件スキャンに近くなる。
  • ウ: 範囲検索であり、B+木の葉ノード連結を活かして効率的に検索可能。正解。
  • エ: NULL以外の全件検索に近く、インデックスの効果はほぼ期待できない。

補足コラム

B+木インデックスはデータベースで最も一般的なインデックス構造で、特に範囲検索や順序付けされたデータの検索に強みがあります。NULL値は多くの場合インデックスに含まれず、検索効率に影響しにくい点も押さえておきましょう。

FAQ

Q: B+木インデックスは単一値検索でも効果がありますか?
A: はい、単一値検索でも効果はありますが、範囲検索ほど大きな性能向上は期待できません。
Q: NULL値はB+木インデックスに含まれますか?
A: 多くのDBMSではNULL値はインデックスに含まれないため、NULLを含む検索はインデックスの恩恵が少ないです。

関連キーワード: B+木、範囲検索、インデックス性能、データベース検索、NULL値扱い
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について