【Mysql】索引下推
2021-11-13 19:53
716 查看
索引下推
当 sql满足最左前缀原则的时候,最左前缀可以用于在索引中定位记录,而索引下推就是用来优化那些不符合最左前缀的部分
例如有一联合索引(name,age),索引结构如下:
现有一需求,sql为:
select * from tuser where name like '张%' and age=10;
根据最左前缀原则,这里只有
name可以用索引,可以定位到
ID3,在Mysql 5.6 版本之前,只能从
ID3开始一个一个回表,到主键索引找到数据行,再对比字段值
在Mysql 5.6 版本引入了索引下推这个优化,再索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数,如图:
无索引下推执行流程:
从ID3开始回表了4次
索引下推执行流程:
首先判断将age不等于10 的直接跳过,只需要对ID4和ID5这两条记录回表取数据判断,只需要回表2次
相关文章推荐
- MYSQL的索引优化
- MySQL索引背后的数据结构及算法原理 --- 张洋,发布于2011-07-14, 张洋的Blog
- MySQL 索引及慢查询优化
- mysql 错误号1553 MySQL Cannot drop index needed in a foreign key constraint,外键也会创建索引
- mysql索引及优化
- MySQL 普通索引、唯一索引和主索引
- 五分钟搞懂MySQL索引下推
- MySQL索引背后的数据结构及算法原理
- MySQL添加索引优化SQL
- MYSQL学习心得(10) -- 索引
- MySQL两表联查创建索引
- Mysql 索引优化
- 数据库:MySQL索引
- MySQL:索引工作原理
- (转)Mysql limit 优化,百万至千万级快速分页,–复合索引的引用并应用于轻量级...
- MySQL索引原理与慢查询优化
- mysql order by 优化 |order by 索引的应用
- 索引面试题分析(MySQL高级知识七)
- mysql索引限制
- MySQL之建表:IP地址的存储方法及SQL函数对索引的影响