IPA過去問ドリル

平成23年度 秋期 応用情報技術者試験 午前 問32

テクノロジ/データベース

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

出典:平成23年度 秋期 応用情報技術者試験 午前 問32

正解:ウ

解説

B+木インデックスは,値が広い範囲に均一に分散しているキー列に対する範囲検索で効果を発揮します。「4001以上,4003以下」という連続した範囲検索はB+木の順序性を生かして効率よく絞り込めるため,最も性能改善が期待できます。否定条件やNULL以外という条件は,多くの行が該当しインデックスをうまく活用できません。

選択肢ごとの解説

  • 誤り。「1001以外」のような否定条件は,該当しない行を除いた大部分の行を検索することになり,インデックスの効果が薄くなります。
  • 誤り。「1001でも4001でもない」も否定条件であり,多くの行が該当するためインデックスによる絞込み効果が小さくなります。
  • 正しい。「4001以上4003以下」という連続した範囲検索はB+木インデックスの順序性を活用でき,性能改善が最も期待できます。
  • 誤り。「NULL以外」という条件はほとんど全ての行が該当するため,インデックスによる絞込み効果はほとんどありません。
応用情報技術者の過去問を演習モードで解く