平成22年秋期試験問題 午前問31

関係データベースにおけるインデックスの設定に関する記述のうち,適切なものはどれか。

  • インデックスの設定に際しては,検索条件の検討だけでなく,テーブルのレコード数についての考慮も必要である。
  • インデックスの設定によって検索性能が向上する場合は,更新・削除・追加処理の性能も必ず向上する。
  • インデックスの設定は,論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。
  • 性別のように2値しかもたないような列でも,検索条件に頻繁に指定する場合は,インデックスの設定を行う方がよい。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
インデックス(index)は、索引(さくいん)とも呼ばれデータベースへのアクセス効率を向上させるために、検索対象となるデータ項目に対してインデックス・テーブルと呼ぶテーブルを作成し、それを使ってレコードを検索します。
できるだけ重複のない大量のデータをランダムに検索するときに最も効果を発揮しますが、少量のデータからの検索、重複の多いデータからの検索などは速度が上がらず、逆に低下してしまうこともあるためインデックスの設定にはこれらの点を考慮する必要があります。
  • 正しい。レコード数の少ない表からの検索ではインデックスの設定は効果を発揮しないため、レコード数も検討対象になります。
  • インデックスを設定した列に対して更新処理が行われると、インデックス・テーブルの書換えが発生するのでインデックスを設定しない場合と比較して処理時間が長くなります。
  • インデックスの設定は、インデックス・テーブルと表との整合性を保つために処理のオーバーヘッドが増すので、設定しても効果が少ない列には設定しないほうが得策です。
  • インデックスによる検索は、重複が多いデータ群の検索では速度が上がらず効果を発揮しません。

Pagetop