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

平成27年度 春期 午前 問29

データベース

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

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

〔関係スキーマ〕
部品(部品コード(主キー), 部品名, メーカコード(外部キー))
メーカ(メーカコード(主キー), メーカ名, 住所)
※原典は主キーを実線の下線,外部キーを破線の下線で示す。書き起こしでは(主キー)(外部キー)と文字で添えた。

答えと解説を見る

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

解説

並びを使える範囲の検索で、読む行が少なく済みます。

設問は、部品の表のメーカコードの列にB+木インデックスを作ったとき、最も性能改善が期待できる操作を選ばせています。B+木は値を小さい順に葉へ並べ、葉どうしを横につないで持ちます。端の一か所を木でたどり着ければ、あとは横に進むだけで続きが取れますから、得意なのは等しい値を探す検索と、範囲を切り取る検索です。もう一つ効き目を左右するのは、その条件で返る行が全体のどれくらいを占めるかという点です。索引は返る行が少ないときにこそ得で、多くの行が返るなら索引を経由するぶんだけ手数が増えます。よって、メーカコードの値が4001以上4003以下の部品を検索する操作が当てはまります。値は均一に分散しているという断りがありますから、この範囲に入るのは三種類ぶんにすぎず、木で端に降りて横にたどれば終わります。設問の断り書きは飾りではなく、一つずつどの記述を落とすために置かれているかを見ます。

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

この問題の用語

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

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