平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問10
テクノロジ/データベース関係データベースの表において,検索速度を向上させるために,列Zにインデックスを付与する。ア~エは,列Zの値が等しい行の数を示したものである。インデックスを付与することによって,1行当たりの平均検索速度が最も向上するものはどれか。ここで,各行は等頻度で検索されるものとする。
出典:平成21年度 春期 データベーススペシャリスト試験 午前Ⅱ 問10
- アデータ値|行の数 p|600 q|600 r|0 s|0 t|0 u|0
- イデータ値|行の数 p|1000 q|200 r|0 s|0 t|0 u|0
- ウデータ値|行の数 p|20 q|40 r|80 s|160 t|300 u|600
- エデータ値|行の数 p|200 q|200 r|200 s|200 t|200 u|200
正解:エ
解説
各行が等頻度で検索される場合,インデックス付与による1行当たりの平均検索速度の向上効果は,同じ値をもつ行のグループが小さく,かつグループ数(選択性)が多いほど大きくなります。ア~エはいずれも合計1200行ですが,エはp~uの6種類の値がすべて200行ずつと最も均等に分散しており,1回の検索で絞り込まれる平均的な行数が最も少なくなるため,最も検索速度が向上します。
選択肢ごとの解説
- ア誤り。値がpとqの2種類(各600行)に偏っており,1回の検索で該当する行数の平均(重み付き平均)がエより大きく,向上幅はエほど大きくない。
- イ誤り。値がpに1000行と大きく偏っており,該当する行数の平均が最も大きくなるため,インデックスによる検索速度の向上効果はア~エの中で最も小さい。
- ウ誤り。値がuに600行と偏っており,該当する行数の平均が大きくなるため,エほど検索速度は向上しない。
- エ正しい。p~uの6種類の値がすべて200行ずつと均等に分散しており,1回の検索で絞り込まれる行数の平均が最も小さくなるため,インデックス付与による平均検索速度の向上が最も大きい。