平成21年 春期 データベーススペシャリスト 午前II 問10

関係データベースの表において、検索速度を向上させるために、列Zにインデックスを付与する。
ア〜エは、列Zの値が等しい行の行の数を示したものである。
インデックスを付与することによって、1行当たりの平均検索速度が最も向上するものはどれか。
ここで、各行は等頻度で検索されるものとする。

 ア
データ値 行の数
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


答え エ


解説
それぞれの場合の検索にかかる時間の期待値を求める。
ここで、n個のデータから検索するのにかかる時間はnとして考える。

 ア
データ値 行の数
p 600
q 600
r 0
s 0
t 0
u 0
では、データが“p”である確率が0.5(=600÷1200)で、600個のデータから検索する時間は600なので
 600×(600÷1200) + 600×(600÷1200) = 600
 イ  1000×(1000÷1200) + 200×(200÷1200) = 866.66…
 ウ  20×(20÷1200) + 40×(40÷1200) + 80×(80÷1200) + 160×(160÷1200) + 300×(300÷1200) + 600×(600÷1200) = 403.33…
 エ  200×(200÷1200) + 200×(200÷1200) + 200×(200÷1200) + 200×(200÷1200) + 200×(200÷1200) + 200×(200÷1200) = 200


キーワード
・インデックス

キーワードの解説

戻る 一覧へ 次へ