平成22年度 秋期 午前 問31
データベース
インデックスの設定に関する記述
関係データベースにおけるインデックスの設定に関する記述のうち,適切なものはどれか。
- アインデックスの設定に際しては,検索条件の検討だけでなく,テーブルのレコード数についての考慮も必要である。
- イインデックスの設定によって検索性能が向上する場合は,更新・削除・追加処理の性能も必ず向上する。
- ウインデックスの設定は,論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。
- エ性別のように 2 値しかもたないような列でも,検索条件に頻繁に指定する場合は,インデックスの設定を行う方がよい。
答えと解説を見る
✓ これが正解アインデックスの設定に際しては,検索条件の検討だけでなく,テーブルのレコード数についての考慮も必要である。
解説
行数まで見て付ける値打ちを判断します。
関係データベースのインデックスは、いつでも効く万能の道具ではなく、得るものと払うものがある取引です。判定の軸は、その記述が取引の両面を踏まえているかという一点になります。得られるのは検索の速さで、目的の行へ一足飛びにたどり着けます。代わりに、表とは別に索引の側も直さなければならないため、追加や更新や削除は重くなり、記憶領域も余分に使います。正解は、検索条件の検討だけでなく、表の行数についても考えることが求められるという記述です。行がごく少ない表では、索引をたどるより全部読んでしまったほうが速く、処理系が索引を使わない判断をすることさえあります。どの列に付けるかという問いの手前に、そもそも付ける値打ちがあるかという問いがある、という順序を押さえておくと選べます。言い切りの強い記述は、まず取引の側から疑うのが安全です。
ほかの選択肢はなぜ違うのか
- イインデックスの設定によって検索性能が向上…:検索が速くなるのと引き換えに、追加や更新や削除は索引を直す手間の分だけ遅くなるのが普通です。両方がそろって良くなると言い切っている点で、取引の関係と噛み合いません。
- ウインデックスの設定は,論理設計段階で洗い…:洗い出した条件の列すべてに付けるべきだという言い切りは行き過ぎです。付けすぎれば更新が重くなり領域も食うので、効くものを選び取ることが設計の仕事になります。
- エ性別のように 2 値しかもたないような列…:二つの値しか取らない列は、一方の値だけで表のおよそ半分が該当してしまいます。絞り込めない列に付けても、索引をたどる手間が増えるばかりで速さにつながりません。
この問題の用語
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。データの定義や操作にはSQLを使います。
出典:平成22年度 秋期 応用情報技術者試験 午前 問31
同じ用語が出る問題
- 令和7年度 秋期 午前 問28:ビューに関する記述(関係データベース)
- 令和7年度 春期 午前 問25:多重度に関する問題(関係データベース)
- 令和5年度 春期 午前 問30:参照制約に関する問題(関係データベース)
- 令和5年度 春期 午前 問26(関係データベース)
- 令和3年度 春期 午前 問28:NoSQLに関する問題(関係データベース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)