InnoDB下的全表扫描和全索引扫描

全表扫描:explain执行计划 type 列对应的 'ALL'
全索引扫描:explain执行计划 type 列对应的 'index'

由于InnoDB存储数据是基于索引的(即数据在文件中的存储形式是以【自定义主键或默认主键】构成的一颗B+树)
所以即使全表扫描走的也是这颗B+树的所有子节点(数据)【也可以认为是某种全索引扫描】

所以不同点在于,非主键索引的B+树的叶子节点含有更少的数据,在数据读取时(磁盘到内存,以页的形式读取,每个叶子节点的数据也多,一个内存页读到的数据条数就越少,就需要更多的读取磁盘操作。)会比主键B+树的io操作少

上一篇:mysql面试指南-mysql版本类问题


下一篇:MySQL进阶 - InnoDB记录存储结构