平成29年度春期 問28 / 80

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

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

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

B⁺木インデックスは,キーの値で葉までたどり,葉どうしが値の順に連結されているため,特定の値の検索や範囲検索で対象行を少数に絞り込める場合に効果を発揮します。逆に,検索結果が表のほとんどの行になる場合は,表全体を順に読む方が効率的なため,インデックスの効果は期待できません。

  • ア: メーカコードの値が1001以外の部品を検索する
    誤り。「1001以外」の条件ではほとんど全ての行が該当するため,インデックスで絞り込む効果はほとんどありません。

  • イ: メーカコードの値が1001でも4001でもない部品を検索する
    誤り。この条件でもほとんど全ての行が該当するため,インデックスによる性能改善は期待できません。

  • ウ: メーカコードの値が4001以上,4003以下の部品を検索する
    正しい。範囲検索であり,B⁺木の葉を4001から4003までたどるだけで該当する少数の行を効率よく取り出せます。性能改善が最も期待できます。

  • エ: メーカコードの値がNULL以外の部品を検索する
    誤り。NULLはごく少数なので,ほとんど全ての行が該当します。インデックスによる性能改善は期待できません。


答え

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

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

平成29年度春期の他の問題