一次完整的磁盘IO所花费的时间
读写磁头在磁盘扇区上读取或者写入数据,一次磁盘IO所花费的时间:
- 寻道时间
指的是读写磁头移动到正确半径上所需要的时间,寻道时间越短,磁盘IO操作越快。
一般我们的寻道时间是3-15ms,主流的磁盘寻道时间是5ms。 - 旋转延迟时间
找到正确的磁道后,读写磁头移动到正确位置上所消耗的时间。
我们一般去磁盘旋转周期的一半作为旋转延时的近似值。
7200转/分 -> 120转/秒 一半: 1/240秒 = 4.17ms - 数据传输
指的是将数据从磁盘盘片读取或者写入的时间,一般是0.几毫秒,可以忽略不计。
一次磁盘IO的时间:5ms+4.17ms = 9.17ms
磁盘IO到底为什么这么慢?
跟内存比一比:
读取一次数据,一般是100ns;1ms = 10^6ns = 100w ns
磁盘IO:9.17 * 100w ns
内存:100ns
9.17 * 10^4 将近9万倍
磁盘IO分为随机读写和顺序读写
顺序读写:速度很快,如mysql里面的binlog redo日志
随机读写:速度相对较慢耗时
数据页是双向链表,数据页里面的数据行是单向链表
索引树结构