応用情報技術者試験 応用情報技術者試験 平成29年度春期 午前28: "部品" 表のメーカコード列に対し,B+木インデックスを作成した。これによって,"部品" 表の検索の性能改善が最も期待できる操作はどれか。ここで,部品及びメーカ

応用情報技術者試験 平成29年度春期 午前
Q 2828 / 80
"部品" 表のメーカコード列に対し,B+木インデックスを作成した。これによって,"部品" 表の検索の性能改善が最も期待できる操作はどれか。ここで,部品及びメーカのデータ件数は十分に多く,"部品" 表に存在するメーカコード列の値の種類は十分な数があり,かつ,均一に分散しているものとする。また,"部品" 表のごく少数の行には,メーカコード列に NULL が設定されている。実線の下線は主キーを,破線の下線はを表す。 部品(部品コード,部品名,メーカコード) メーカ(メーカコード,メーカ名,住所)
この問の正解率:53.16%(301件)

問題本文

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

選択肢

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

正解

. メーカコードの値が 4001 以上,4003 以下の部品を検索する。

解説

B+木インデックスがどのような検索で効果を発揮するかを問う問題。B+木は値が大小順に並べて管理されるため、特定値や狭い範囲を指定する検索(等値・範囲検索)で、対象行に素早く絞り込めて効果が高い。逆に「〜以外」「NULL以外」のように表のほとんどの行が該当してしまう検索では、結局ほぼ全件を読むことになりインデックスの効果が薄い。メーカコードの値の種類が十分多く均一分散しているので、4001以上4003以下という狭い範囲検索(選択肢ウ)が最も絞り込みが効き、性能改善が期待できる。正解はウ。

選択肢ごとの解説

  • .「1001以外」は1001の行を除く大多数が該当するため、ほぼ全件読み込みとなりインデックスの効果が小さい。誤り。
  • .「1001でも4001でもない」も2値を除く大多数が該当し、絞り込みが効かない。誤り。
  • .正しい。4001〜4003という狭い範囲はB+木で順に並んだ値を効率よくたどれ、該当行も少数に絞れるため最も性能改善が期待できる。
  • .NULLはごく少数なので「NULL以外」はほぼ全件が該当し、絞り込みにならずインデックスの効果が薄い。誤り。

応用情報技術者試験 平成29年度春期 午前過去問一覧へ戻る・問28