令和7年度秋期 応用情報技術者試験 午前 問27
「売上」表への次の検索処理のうち,B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで,インデックスを設定する列を<>内に示す。 売上(伝票番号,売上年月日,商品名,利用者ID,店舗番号,売上金額)
- ア 売上金額が1万円以上の売上を検索する。<売上金額>
- イ 売上年月日が今月の売上を検索する。<売上年月日>
- ウ 商品名が'DB'で始まる売上を検索する。<商品名>
- エ 利用者IDが'1001'の売上を検索する。<利用者ID>
解答・解説を見る
正解:エ
AI解説
ハッシュインデックスはキー値からハッシュ関数で格納位置を直接算出するため、等価条件(=)による1件検索(完全一致検索)に強いが、範囲検索(以上・以下・前方一致など)には対応できない。利用者IDの完全一致検索のみが等価検索であり、他は範囲検索や前方一致検索である。 ア: 「1万円以上」は範囲検索であり、範囲検索に強いB+木インデックスが適している。ハッシュインデックスでは範囲検索を効率よく処理できない。 イ: 「今月の売上」も日付の範囲検索であり、順序を保持し範囲検索が可能なB+木インデックスの方が適している。 ウ: 「'DB'で始まる」は前方一致検索であり、値の並び順を利用する必要があるためB+木インデックスが適しており、ハッシュインデックスでは効率的に処理できない。 エ: 正しい。利用者IDが特定の値と完全一致するかどうかを調べる等価検索であり、ハッシュインデックスが最も効率的に機能する。 💡 『範囲・前方一致→B+木』『完全一致(=)→ハッシュ』と検索条件の種類でインデックス選択を判断する習慣をつけるとよい。
出典:令和7年度 秋期 応用情報技術者試験 午前 問27 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。