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的数据会进行回表操作。
所以,索引下推的作用就是在索引满足部分条件的情况下,尽量减少回表操作。
本文作者:护发师兄
本文链接:https://www.cnblogs.com/jonil/p/16424364.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步