SkillStack
テクノロジ系26 / 80問

応用情報技術者試験 令和5年度 秋期 午前 問26

"売上"表への次の検索処理のうち、B⁺木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで、インデックスを設定する列を<>内に示す。

売上(伝票番号、売上年月日、商品名、利用者 ID、店舗番号、売上金額)

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

ハッシュインデックスは、検索キーからハッシュ値を計算し、目的のデータが格納されている場所を直接探す方式です。大小関係や並び順は保持しませんが、「利用者ID=1001」のように値が完全に一致する行を探す等価検索では、少ないアクセス回数で高速に検索できます。したがって、利用者IDが特定の値と一致する売上を検索するエが適切です。

アの売上金額が1万円以上という検索は誤りです。これは下限を指定する範囲検索であり、キーが順序付けられているB⁺木インデックスが適しています。

イの今月の売上を検索する処理も誤りです。今月の初日から末日までという日付の範囲検索なので、値の大小関係を利用できるB⁺木インデックスが適しています。

ウの商品名が「DB」で始まるという検索も誤りです。これは前方一致検索であり、「DB」に続く文字列が索引上で連続して並ぶB⁺木インデックスを利用できます。ハッシュ値からは文字列の前方が一致する範囲をたどれません。

【ポイント】 ・ハッシュインデックスは「=」を使う等価検索に強い方式です。 ・B⁺木インデックスは大小比較、範囲検索、並べ替え、前方一致検索に適しています。 ・検索条件に「>」「≧」「BETWEEN」がある場合は、まずB⁺木を考えます。

出典:令和5年度 秋期 応用情報技術者試験 午前 問26
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める