索引下推机制
mysql5.6引入的一种索引优化手段,它就是说MySQL在执行SQL时,会把判断条件传给存储引擎,然后在查
查询过程中直接过滤掉不符合的记录,减少回表产生的磁盘IO
下推的意思是什么??
首先我们要清楚没有这个机制下,MySQL是怎么查询的?
1.存储引擎读取索引记录
2.回表拿到行记录
3.把行记录交给<font style="color:rgb(199, 37, 78);">Server</font>层去检测该记录是否满足<font style="color:rgb(199, 37, 78);">WHERE</font>条件
那么下推的意思就是说 原先服务层做的事情交给引擎层去做
有了该机制后
1.存储引擎读取索引记录
2.根据索引的字段判断是否可以根据where条件过滤掉部分不符合的记录,有就过滤,没有就拉倒。拿到
结果主键
3.回表
4.把行记录返回给server,再做其余where字段的判断