硬盘的IO速度¶
一般情况下IO的速度并不影响排序的性能,但如果通过磁盘IO获取排序数据则例外。在做大数据量排序的时候,不可能所有的待排序数据都来自内存,这种情况下发生IO是显而易见的。这时候IO的速度就会大大的影响排序的性能,提高IO的速度也会提高排序的性能。但即使提高了IO的速度,也要让排序功能合理的使用这些资源,否则再高速的硬盘也无用武之地。当数据无法全部装入内存的时候,磁盘的IO也严重的影响排序的性能。这种情况下,排序的性能与数据量的规模和磁盘IO的速度关系最为密切,如果数据量为N,磁盘的IO速度为S,则排序的时间t肯定与N/S成正比。
提高磁盘速度主要会提高存放临时文件和数据文件到磁盘速度。外存排序过程中,中间数据都会写入临时文件,然后再从临时文件读取并归并数据,所以临时文件的IO速度对排序的性能影响很大。将临时文件放在IO速度较高的磁盘上是一种明智的选择,这可以有效提高中间结果的写入和归并阶段的读取速度。