平成22年度秋期 応用情報技術者試験 午前 問31

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

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

  1.  インデックスの設定に際しては,検索条件の検討だけでなく,テーブルのレコード数についての考慮も必要である。
  2.  インデックスの設定によって検索性能が向上する場合は,更新・削除・追加処理の性能も必ず向上する。
  3.  インデックスの設定は,論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。
  4.  性別のように 2 値しかもたないような列でも,検索条件に頻繁に指定する場合は,インデックスの設定を行う方がよい。
解答・解説を見る

正解:ア

AI解説

インデックス設計は検索性能向上と更新性能低下のトレードオフを考慮する必要があり、テーブルのレコード数(データ量)が少ない場合はインデックスの効果が薄く、逆に更新・追加・削除時のインデックス保守コストが増えるため、レコード数も含めた総合的な判断が必要になる。 ア: 正しい。インデックス設計では検索条件の検討だけでなく、テーブルのレコード数(件数が少なければ全表走査の方が速いこともある)も考慮する必要がある。 イ: インデックスを設定すると検索は高速化されるが、更新・削除・追加のたびにインデックス自体も更新する必要があるため、更新系の処理性能はむしろ低下することが多く、必ず向上するわけではない。 ウ: 検索条件に指定される列すべてにインデックスを設定すると更新コストが増大し、インデックスの数が増えすぎて非効率になる場合があるため、必要性を吟味して選択的に設定すべきである。 エ: 性別のように値の種類(カーディナリティ)が2値しかない列は、インデックスを使っても絞り込み効果が小さく、全表の半分程度しか絞れないため、一般的にインデックスの効果は低く設定は推奨されない。 💡 インデックスは「検索は速くなるが更新は遅くなる」「カーディナリティが低い列には効果が薄い」「件数が少ない表には不要」という3点セットで覚えると誤答肢を判別しやすい。

出典:平成22年度 秋期 応用情報技術者試験 午前 問31 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問