jdbc查不到数据会返还什么_数据存储在磁盘上的排列方式会影响什么

数据存储在磁盘上的排列方式会影响I/O服务的总时间。

9264a4e1e2405c26cc5f5e388c03980d.png

假设每磁道划分成10 个物理块,每块存放1 个逻辑记录。逻辑记录R1,R2,...,R10 存放在同一个磁道上,记录的安排顺序如下表所示: (推荐学习:web前端视频教程)

6f6ef9632abd695ab7e4984ac79efdec.png

假定磁盘的旋转速度为20ms/周,磁头当前处在R1 的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10 个记录的最长时间为204ms;若对信息存储进行优化分布后,处理10 个记录的最少时间为60ms 。

首先从磁盘的转速20ms/周,我们可以知道,读取一条记录需要2ms。

值得注意的一点是:

处理一条记录的前提是将其读出来。处理第1条记录时,要先将其读取出来,再进行处理,所以处理R1所需时间为2ms+4ms,当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R5,R6,R7,R8,R9,R10,R1,这样要耗16ms的时间,再加上读取R2需要2ms以及处理数据的4ms,R2的总处理时间应为22ms。

依次类推,处理这10个记录的时间为

2+4+(16+2+4)×9=204ms

从上面的分析,我们知道,大部分时间消耗在磁头回移的过程中。

为了减少这种时间消耗,可以对排列顺序进行优化,优化后的排列顺序应为:R1,R8,R5,R2,R9, R6,R3,R10,R7,R4。这样,处理完R1时,磁头就到了R2的位置。直接读取R2,处理R2,处理完R2,磁头又到了R3的位置。依次类推,每条记录的读取及处理时间为:2ms+4ms=6ms,所以总时间为(2+4)×10=60ms。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值