過去問解きまくり研究所 ホーム

令和5年度 秋期 午前Ⅱ 問13

トランザクション処理

インデックスに関する問題

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

部品(部品コード,部品名,メーカーコード〔破線の下線〕)

メーカー(メーカーコード,メーカー名,住所)

答えと解説を見る

✓ これが正解ウメーカーコードの値が4001以上,4003以下の部品を検索する。

解説

値の範囲を指定する検索で、B+木インデックスの効果が最も出ます。

B+木インデックスは、キーの値の順に葉ノードが並び、葉同士がつながっているので、ある値を起点にして範囲の端までを順にたどる検索が得意です。この問では、メーカーコードの値の種類が十分に多く、均一に分散しているので、4001以上4003以下という条件に合う行は全体のごく一部です。インデックスで4001の位置を見つけ、4003まで葉をたどるだけで対象の行にたどり着けるので、全件を読む場合に比べて大きく性能が改善します。見分ける軸は、条件に合う行が全体のどれくらいの割合かです。ごく一部だけを取り出す条件ほどインデックスが効き、ほとんどの行が当てはまる条件では効かないと覚えておきましょう。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問13

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)