MySQL 5.6新特性MRR

一、什么是MRR  MMR全称是Multi-Range Read,是MYSQL5.6优化器的一个新特性,在MariaDB5.5也有这个特性。优化的功能在使用二级索引做范围扫描的过程中减少磁盘随机IO和减少主键索引的访问次数。是优化器将随机 IO 转化为顺序 IO 以降低查询过程中 IO 开销的一种手段。(参考:https://blog.csdn.net/caomiao2006/article/details/52205177) 二、MRR和没有MRR的区别  给出一个简单的例子,在innodb表执行下面的查询: SELECT non_key_column FROM tbl WHERE key_column=x 在没有MRR的情况下,它是这样得到结果的: 1.  select key_column, pk_column from tb where key_column=x order  by key_column —>假设这个结果集是t 2.  for each row in t ;select non_key_column from tb … Continue reading MySQL 5.6新特性MRR