MySQL - 索引下推

在索引满足最左前缀匹配的时候,将部分不满足逻辑的数据过滤掉,减少回表操作。

比如有如下表格

ID 姓名 年龄 性别
1 张三 15
2 张四 10
3 张五 10
4 李四 21

并在表格的基础上建立了如下姓名和年龄的索引

ID 姓名 年龄
1 张三 15
2 张四 10
3 张五 10
4 李四 21

现在需要查找姓名为张开头、年龄为10岁并且性别为男的状况。

如果没有索引下推,那么ID为1,2,3的数据会进行回表操作。

如果有索引下推,那么会先判断年龄是否为10岁,减少回表操作。此时只有ID为2、3的数据会进行回表操作。

所以,索引下推的作用就是在索引满足部分条件的情况下,尽量减少回表操作。

posted @ 2022-06-29 17:42  护发师兄  阅读(110)  评论(0编辑  收藏  举报