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

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

解説

応用情報技術者試験 平成29年度春期 午前 問28「"部品" 表のメーカコード列に対し,B+木インデックスを作成した。これによって,…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約53%です。

正解

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

正答率 53.2%(301人中 160人が正解)

問題の解説

B+木インデックスが効くのは、条件に合う行が全体のごく一部に絞られる検索である。メーカコードは値の種類が多く均一に分散しているので、特定の値や狭い範囲を指定すれば該当行は少なく、索引で直接たどれる。逆に、大半の行が該当する条件では、全件を読むのと変わらない。

選択肢ごとの解説

  • ア「1001 以外」は、値が均一に分散しているので大半の行が該当する。索引をたどるより全件を順に読む方が効率的で、性能改善は期待できない。
  • イ「1001 でも 4001 でもない」は、除外される行がごくわずかで、ほぼ全行が該当する。索引の効果は小さい。
  • ウ正しい。4001 から 4003 の範囲に該当する行は全体のごく一部で、B+木の範囲検索によって、該当する行へ直接たどり着ける。
  • エNULL の行はごく少数なので、「NULL 以外」はほぼ全行が該当する。索引を使っても全件を読むのと変わらず、効果は小さい。

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

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード