第1種情報処理技術者試験 |
1998年度 = 平成10年度 |
午前 |
問45 |
関係データベースの表において、データ値が重複している項目の検索効率を向上させるためにインデックスを付与する。次のア~エは、データ値が等しい行の数を示したものである。このア~エのうち、データ値にインデックスを付与することによって、1項目当たりの平均の検索効率が最も向上するものはどれか。
ア
| イ
|
ウ
データの値 | 行の数 |
A | 20 |
B | 40 |
C | 80 |
D | 160 |
E | 300 |
F | 600 |
| エ
データの値 | 行の数 |
A | 200 |
B | 200 |
C | 200 |
D | 200 |
E | 200 |
F | 200 |
|
エ
インデックスがなければ順次探索となります。たとえば、1200行あれば、検索のための比較回数は平均して600回となります。
インデックスが存在すると、効率よく検索できることになるはずですが、重複したデータ値をもつ行に対しては、順次探索を適用せざるを得ません。
2種類のデータ値しかもたないア、イよりも、6種類のデータ値をもつウ、エのほうが、検索効率は向上しますので、後者のみを検討することにします。
選択肢ウの平均比較回数は、
20×10 + 40×20 + 80×40 + 160×80 + 300×150 + 600×300
──────────────────────────────── ≒ 202
1200
であり、選択肢エの平均比較回数は、
200×100 + 200×100 + 200×100 + 200×100 + 200×100 + 200×100
─────────────────────────────────── = 100
1200
ですから、正解はエです。