トップ過去問一覧応用情報技術者 平成22年・秋 > 問31
問31

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

○正解
×不正解

インデックスの設定に関しては,検索条件の検討だけではなく,テーブルのレコード数についての考慮も必要である。

インデックスの設定によって検索性能が向上する場合は,更新・削除・追加処理の性能も必ず向上する。

インデックスの設定は,論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。

性別のように 2 値しかもたないような列でも,検索条件に頻繁に指定する場合は,インデックスの設定を行う方がよい。

解説

インデックスを設定すると、以下のオーバヘッド/コストが発生します。

① 更新・削除・追加処理時にインデックスの更新が必要。

② インデックスを保存するための記憶容量が必要。

 

○ インデックスの設定に関しては,検索条件の検討だけではなく,テーブルのレコード数についての考慮も必要である。

レコード数が少ない場合、インデックスなど使わず全検索した方が速いです。

 

× インデックスの設定によって検索性能が向上する場合は,更新・削除・追加処理の性能も必ず向上する。

[更新または削除処理]

更新または削除対象のレコードを検索するのにインデックスが使われない場合は、インデックス更新のオーバヘッドの分、性能が低下します。

 

[追加処理]

インデックス更新のオーバヘッドの分、性能が低下します。

 

× インデックスの設定は,論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。

インデックスを設定すると前述のオーバヘッドが発生しますので、必要なところ/効果の高いところのみに設定します。

 

× 性別のように 2 値しかもたないような列でも,検索条件に頻繁に指定する場合は,インデックスの設定を行う方がよい。

例えば、男と女の行が50万件ずつある場合、インデックスを使っても半分の50万件にしか絞れません。インデックスは、値の種類が多い(値の出現頻度が低い)列に、設定するのが効果的です。

無料学習システムはこちら
→間違えた問題を繰り返し学習
→分野別学習
→模擬試験モード
デモサイト
無料ユーザ登録

問題文や解説文の内容の正確性については、できるかぎりチェックをしていますが、間違いがある可能性があります。 十分ご注意の上、参考までにご利用ください。