mysql对于数据读取并不是按需去读取记录的,在底层使用的是 页 的数据结构去加载数据的,页的默认大小是16kb,操作系统也存在预读,默认大小是4kb。
其实这个页的底层也是个b+树,通过预读的方式可以减少对磁盘进行io的操作,从而加快查询的速度。
当然,这个默认大小16kb是可以修改的,在mysql当中提供了一个innodb_page_size来进行设置,有4kb,8kb,16kb,32kb,64kb就行选择,这个配置不是动态生效的,需要我们下载源码,编译源码后在源码的配置文件进行修改,然后再重新打包运行才能生效,因为很麻烦,所以默认不要去改它。