カコモンノート

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

28 / 80問
平成29年度 春期2017年

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 3

解説

正解は3。B⁺木インデックスは、葉のノードにキー値が順番に並び、葉どうしがつながっている。「4001以上、4003以下」のような範囲検索では、4001の位置を木をたどって見つけ、葉を順に4003までたどるだけで該当行が分かる。メーカコードの値は種類が多く均一に分かれているので、該当行は全体のごく一部になり、表全体を読むより大幅に速くなる。

  • 1は、1001以外の部品はほぼ全件になるので、インデックスを使うより表を全部読むほうが速く、改善は期待できない。
  • 2は、1001でも4001でもない部品も、ほぼ全件が該当するので1と同じである。
  • 4は、NULLはごく少数の行だけなので、NULL以外の部品はほぼ全件になり、改善は期待できない。

根拠:B⁺木インデックスの構造(葉の順序付けと連結)と選択率

KEY POINT
B⁺木インデックスは範囲検索に強い。否定条件などで該当行がほぼ全件なら効果は出ない。
出典:平成29年度 春期 応用情報技術者試験 午前 問28(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。