[MySQL] 联合索引与using index condition
2023-02-18 15:46:55 时间
1.测试联合索引的最左原则的时候, 发现了5.6版本后的新特性Index Condition Pushdown
2.含义就是存储引擎层根据索引尽可能的过滤数据,然后在返回给服务器层根据where其他条件进行过滤
3.比如我有这样的联合索引 KEY `name_gid_age_index` (`name`,`gid`,`age`) , 查询的时候where name='taoshihan' and age=1 , 没有按顺序连续查条件, 后面那个age就用不到索引
4.这时就会出现下面的情况
CREATE TABLE `index_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `gid` int(11) NOT NULL DEFAULT '0', `age` int(11) NOT NULL DEFAULT '0', `score` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `name_gid_age_index` (`name`,`gid`,`age`), KEY `score_index` (`score`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
5. type值为range、 ref、 eq_ref或者ref_or_null的时候 , 会使用到索引条件下推技术
相关文章
- 【PuTTY】一个免费的SSH和Telnet客户端
- 【Telnet】Telnet安装与配置
- C#笔记 窗体练习:海康相机SDK二次开发
- OpenCV笔记(9) calcHist绘制直方图
- 将mnist训练的caffemodel生成动态链接库DLL
- OpenCV笔记(6) Bitwise
- OpenCV笔记(5) Rect类
- OpenCV笔记(7) 轮廓
- OpenCV笔记(3) CV::Mat
- C++笔记(10) 智能指针
- C++笔记(3)引用
- 前端开发:6、jQuery类库简介与基本使用
- 前端开发:5、BOM操作、DOM操作、jQuery类库
- 前端开发:3、CSS之边框、盒子模型、浮动、溢出、定位、重叠、display
- 前端开发:2、CSS、表单标签补充说明
- 前端开发:1、概念、HTTP协议、HTML及常用标签
- MySQL数据库:15、视图、触发器、存储过程、函数、流程控制、慢查询优化、索引测试
- MySQL数据库:13、索引
- MySQL数据库:14、事务
- MySQL数据库:12、PyMySQL模块