普及几个知识点:
磁盘 IO是非常昂贵的操作,所以计算机操作系统对此做了些优化
- 从减少磁盘 IO次数上
- 从减少 IO量上
尽可能多的减少读取数据的量,同时还要减少数据访问的次数
局部性原理:
时间局部性和空间局部性
数据和程序具有 聚集成群的倾向
当访问一个地址数据时,与其相邻的数据很快也会被访问到
预读
是根据局部性原理来做的优化
每一次 IO时,不仅仅把当前磁盘地址的数据加载到内存,同时也把相邻数据加载到内存缓冲区中
页:内存和磁盘进行数据交互的最基本的逻辑单元,datapage*
- 不同操作系统的页的大小是不同的,一般是 4K,或者是 8K
- 每次从磁盘中进行读取时需要读取 4K的整数倍
- InnoDB默认每次读取的是 16KB的数据