平成26年秋期試験問題 午前問27

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
"売上"表への次の検索処理のうち,B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで,インデックスを設定する列を<>内に示す。

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

  • 売上金額が1万円以上の売上を検索する。<売上金額>
  • 売上年月日が今月の売上を検索する。<売上年月日>
  • 商品名が'DB'で始まる売上を検索する。<商品名>
  • 利用者IDが'1001'の売上を検索する。<利用者ID>
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
インデックスは、データベースに格納されているデータの取出しや並べ替えを高速で行うための仕組みです。

インデックスには幾つかの種類がありますが、設問に登場する「B+木インデックス」と「ハッシュインデックス」は次のような特徴を持っています。
B+木インデックス
木構造を使ってデータを管理する方式で、RDBMSで最も一般的に使用されている。節ごとにキー値の範囲とその子要素へのポインタを保持しているので範囲検索をスムーズに行えるほか、次のような性質があります。
  • 木構造の深さが一定になっているので、どのようなキー値であっても探索コストが大きく変わらない
  • 大量のデータに対する操作であっても、ある程度の速度が期待できる
  • インデックスノードはソートされた状態になっているので整列処理が高速に行える
ハッシュインデックス
ハッシュ関数を使用してキー値とレコードの格納場所を直接関連つける方式。
格納場所をキー値から一意に検索できるので、いくつもの階層の節をたどって格納場所にアクセスするB+木インデックスより高速にアクセスが可能。ただし範囲検索やキー値を順番に読み込んで処理を行う用途には使用できない。
これらの特徴から考えると、範囲検索・条件検索にあたる「ア」「イ」「ウ」のケースにハッシュインデックスを設定するのは不適切となり、単一レコードにアクセスを行う「エ」のケースのみがハッシュインデックスを有効に活用できる処理とわかります。

Pagetop