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

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

解説

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

正解

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

正答率 60.4%(915人中 553人が正解)

問題の解説

B+木インデックスは、キーの大小順に並んだ木構造をたどって行を探すので、条件に合う行が全体のごく一部である検索、特に範囲検索で効果が大きい。否定条件や NULL 以外のように大半の行が該当する検索では、索引を使っても大部分の行を読むことになり、表全体を読むのと変わらない。4001 以上 4003 以下の範囲指定は、値の種類が多く均一に分散しているので該当行が少なく、最も改善が期待できる。

選択肢ごとの解説

  • ア1001 以外という否定条件には、ほぼ全ての行が該当するので、索引で絞り込めず、表全体を読むのと変わらない。
  • イ1001 でも 4001 でもないという条件にも、ほぼ全ての行が該当するので、索引の効果は小さい。
  • ウ正しい。範囲の下限から索引をたどって連続するキーを読めば、該当する少数の行だけを効率よく取り出せる。
  • エNULL 以外の部品には、NULL が設定された少数の行を除く、ほぼ全ての行が該当するので、索引を使っても改善はわずかである。

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

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

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

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