修了試験 2021-07-25実施分 基本情報技術者試験 問26
“売上”表への次の検索処理のうち,B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。 ここで,インデックスを設定する列を<>内に示す。 売上(伝票番号,売上年月日,商品名,利用者ID,店舗番号,売上金額)
正答4
解説
正解は4です。 B+木インデックスは、キーの値を大小順に並べて保持するので、範囲検索や前方一致検索、並べ替えに強い方式です。 ハッシュインデックスは、キーの値からハッシュ関数で格納位置を計算するので、特定の値と完全に一致するものを探す検索に強い方式です。 ただし、ハッシュ値には大小の順序が残らないので、範囲検索には使えません。 【選択肢別解説】 1:× 売上金額が1万円以上という条件は範囲検索です。 値の順序を保持するB+木インデックスのほうが適しています。 2:× 売上年月日が今月という条件は、月初から月末までの範囲検索です。 B+木インデックスのほうが適しています。 3:× 商品名が'DB'で始まるという条件は前方一致検索で、'DB'から始まる値の範囲を探すことになります。 B+木インデックスのほうが適しています。 4:○ 利用者IDが'1001'という条件は、特定の値との完全一致検索です。 ハッシュ値から格納位置を直接求められるので、ハッシュインデックスが適しています。 【ポイント】 「=による一致検索ならハッシュ、範囲・前方一致・並べ替えならB+木」と覚えます。 B+木は葉の節がつながっているので、範囲内の値を順にたどることができます。まとめて解く
修了試験 2021-07-25実施分を通しで解く(80問)→