因为系统使用的是单缓冲区,且顺序处理9个记录,每个记录处理时间为3ms,加上读写时间,总的时间就超过3ms了。而磁盘旋转一圈的时间为27ms,也就是说,当系统读取第0个记录后,正在处理的过程中,磁盘已经旋过了第1个记录。那么,要读取第1个记录,就需要磁盘再次旋转到第1个记录(即磁盘旋转1圈后,27+3=30ms)。同理,要读取第2个记录时,也需要等30ms。这样,要读取后面8个记录,需要8*30=240ms,同时加上处理第8个记录的时间(3ms),共需243ms。
要想节约时间,可以把记录错开存放,如表2-7所示。
表2-7 错开存放的记录
这样,就可以在磁盘旋转2圈内完成所有记录的处理,时间为54ms。要注意的是,最后处理的记录R8不是最后一个磁盘块,所以不需要旋转到最后1个物理块。也就是说,第2圈的旋转时间只需要24ms就到达R8了。但是,因为要加上R8的处理时间3ms,所以,总时间仍然为54ms。