応用情報技術者試験 令和5年秋 午前問26 解説付き過去問
問題
"売上"表への次の検索処理のうち、B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。
ここで、インデックスを設定する列を<>内に示す。
売上 (伝票番号、売上年月日、商品名、利用者ID、店舗番号、売上金額)
売上 (伝票番号、売上年月日、商品名、利用者ID、店舗番号、売上金額)
正解
解説
この問題は、検索条件に対して「B+木インデックス」と「ハッシュインデックス」のどちらが適しているかを判断する問題です。
- インデックスの特徴
- 各検索処理の特性
- 売上金額が1万円以上
数値の範囲検索であり、B+木インデックスが適しています。ハッシュインデックスは範囲検索に不向きです。 - 売上年月日が今月
日付の範囲検索となるため、B+木インデックスが適しています。 - 商品名が'DB'で始まる
文字列の前方一致検索はB+木インデックスが適しています。ハッシュインデックスでは前方一致ができません。 - 利用者IDが'1001'
完全一致検索です。ハッシュインデックスはこのような検索に最適であり、最も高速に処理できます。 - 結論
B+木インデックスは、範囲検索や前方一致など、順序を活用した検索に適しています。一方、ハッシュインデックスは、完全一致検索に特化しており、高速な検索性能を持ちますが、範囲検索や前方一致検索には適しません。
それぞれの検索処理を見てみます。
検索条件が「利用者IDが'1001'」のように完全一致である場合、ハッシュインデックスの方が高効率であり、適切です。
したがって、ハッシュインデックスを設定した方が適切な検索処理は利用者IDが'1001'の売上を検索する処理です。