内容来自《收割Offer》
面试官提问
● 什么是MySQL的索引下推?
下面通过一个例子来说明什么是索引下推:用户表字段有id、name、age,联合索引为(name,age)。
SELECT * from user where name like '袁%' and age = 20
上述语句的执行过程如图1-92所示。
图1-92 两次回表完成数据查询
在(name,age)这棵索引树上忽略age字段,通过name进行查询得到两个结果,id分别为2,1,然后根据id值回表查询两次获得结果。
MySQL 5.6版本引入了索引下推,执行的过程如图1-93所示。