IPA過去問ドリル

平成27年度 春期 応用情報技術者試験 午前 問29

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

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

出典:平成27年度 春期 応用情報技術者試験 午前 問29

正解:ウ

解説

B+木インデックスは等値検索や範囲検索の高速化に有効です。値が均一に分散している場合,「特定の値と一致しない」「NULLでない」といった否定条件や広い範囲の条件では,多くの行がヒットしてしまい索引の絞込み効果が小さくなります。一方,狭い範囲(例えば4001以上4003以下)を指定する検索では,該当する行が少なく絞り込めるため,インデックスによる性能改善効果が大きくなります。

選択肢ごとの解説

  • 誤り。「1001以外」は,ほとんどの行が条件に一致するため,インデックスによる絞込み効果はほとんど期待できません。
  • 誤り。「1001でも4001でもない」も同様に大部分の行が該当するため,インデックスの効果は小さいです。
  • 正しい。4001以上4003以下という狭い範囲の検索は該当行が少なく,B+木インデックスによる絞込み効果が最も期待できます。
  • 誤り。「NULL以外」は,ごく少数の行(NULLの行)を除く大部分の行が該当するため,インデックスの効果はほとんど期待できません。
応用情報技術者の過去問を演習モードで解く