令和5年度秋期 応用情報技術者試験 午前 問26
“売上”表への次の検索処理のうち,B⁺木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで,インデックスを設定する列を<>内に示す。 売上(伝票番号,売上年月日,商品名,利用者ID,店舗番号,売上金額)
- ア 売上金額が1万円以上の売上を検索する。<売上金額>
- イ 売上年月日が今月の売上を検索する。<売上年月日>
- ウ 商品名が‘DB’で始まる売上を検索する。<商品名>
- エ 利用者IDが‘1001’の売上を検索する。<利用者ID>
解答・解説を見る
正解:エ
AI解説
ハッシュインデックスは値そのもののハッシュ値で位置を決めるため等価検索(=)に強い一方、範囲検索や前方一致・順序が必要な検索には向かない。B⁺木インデックスはキー順に整列されているため範囲検索や順序付き検索に強い。利用者IDを='1001'と完全一致で検索する場合はハッシュインデックスの方が適している。 ア: 売上金額が1万円以上という条件は範囲検索であり、順序関係を利用できるB⁺木インデックスの方が適している。 イ: 売上年月日が今月の売上という条件も範囲検索であり、B⁺木インデックスの方が適している。 ウ: 商品名が‘DB’で始まるという条件は前方一致検索であり、キーの順序関係を利用するB⁺木インデックスの方が適している。 エ: 利用者IDが‘1001’という条件は完全一致(等価検索)であり、順序を必要としないためハッシュインデックスの方が高速に検索でき、正解である。 💡 「=(等価検索)ならハッシュ、範囲や前方一致・順序ならB⁺木」という使い分けの原則を覚えておくと、インデックス選択問題全般に応用できる。
出典:令和5年度 秋期 応用情報技術者試験 午前 問26 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。