【MySQL】什么是索引下推?
比如:
select * from user where name like '仨%' and age=28 and sex='0';
name和age为联合索引(idx_name_age)。
如果是Mysql5.6之前 ,在idx_name_age索引树,找出所有名字第一个字是“仨”的人,拿到它们的主键id,然后回表找出数据行,再去对比年龄和性别等其他字段。
MySQL 5.6就引入了索引下推优化 ,可以在索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。
因此,MySQL5.6版本之后,选出包含“仨”字后,顺表过滤age=28
还没有评论,来说两句吧...