データベース
データベースのインデックス(索引)に関する記述として、適切なものはどれか。
ア.インデックスを作成すると、データの挿入・更新・削除の速度が向上し、ディスク容量も削減される。
イ.インデックスはSELECT文の実行速度を向上させる効果があるが、INSERT・UPDATE・DELETEの実行時にインデックスの更新コストが発生する。正解
ウ.インデックスはすべての列に作成することでクエリ全体の性能を最大化できる。
エ.主キー制約を設定した列には、インデックスを別途作成する必要がある。
解説
インデックスは本の「索引」と同じ。「データ探索が速くなる」のは確かですが、本に索引を増やすほど本自体が厚くなり、内容を書き換えるたびに索引も直さないといけません——便利さとコストのトレードオフです。
なぜ イ が正解か
インデックス(B木インデックス等)はSELECT時のフルテーブルスキャンを避けて高速検索を実現します。ただしINSERT・UPDATE・DELETEの際にはインデックス構造も更新する必要があり、書き込み性能は低下します。また、インデックスはディスク領域を追加で消費します。読み取りが多い列(WHERE句・JOIN条件・ORDER BY列)に絞って作成するのが基本戦略です。
出典: AI生成問題(学習用)