平成23年度 春期 データベーススペシャリスト試験 午前II 問23
【問題23】
磁気ディスクのレコードを、直接アクセスで検索するプログラムがある。このアクセス時間の大部分は、位置決め時間と回転待ち時間と転送時間から成る。ブロック長と検索時間の関係に関する説明のうち、適切なものはどれか。ここで、位置決め時間と回転待ち時間はブロック長に依存せず、同一ブロック内の複数レコードを同時に直接アクセスで検索することはないものとする。
ブロック長を大きくしても、1レコード当たりの転送時間は一定であるので、検索時間は変わらない。
ブロック長を大きくすると、1ブロック当たりのレコード数が増えるので、検索時間は短くなる。
ブロック長を大きくすると、ブロックの転送時間が長くなり、その分だけ検索時間は長くなる。
ブロック長を調整するよりも、ディスクキャッシュを導入する方が、検索時間短縮に効果的である。
【解説】
ア: ブロック長を大きくしても、1レコード当たりの転送時間は一定であるので、検索時間は変わらない。
誤り。ブロック長を大きくすると、1ブロックの転送時間が増加します。したがって、検索時間も増加します。
イ: ブロック長を大きくすると、1ブロック当たりのレコード数が増えるので、検索時間は短くなる。
誤り。1ブロック当たりのレコード数は増えますが、同一ブロック内の複数レコードを同時に検索することはないとされているため、検索時間の短縮にはつながりません。
ウ: ブロック長を大きくすると、ブロックの転送時間が長くなり、その分だけ検索時間は長くなる。
正しい。ブロック長を大きくすると、1ブロックの転送時間が長くなり、その結果、検索時間も長くなります。
エ: ブロック長を調整するよりも、ディスクキャッシュを導入する方が、検索時間短縮に効果的である。
誤り。ディスクキャッシュは、同じレコードを繰り返し検索する場合には効果的ですが、ランダムな検索では効果が限定的です。また、この設問ではブロック長と検索時間の関係に焦点を当てているため、適切ではありません。
【答え】
ウ: ブロック長を大きくすると、ブロックの転送時間が長くなり、その分だけ検索時間は長くなる。
出典:平成23年度 春期 データベーススペシャリスト試験 午前II 問23