索引下推机制

五分钟搞懂MySQL索引下推 - 三分恶 - 博客园

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字段的判断