让人头疼的联合索引索引问题。。。
时间:2011-11-24
来源:互联网
一个表 有个联合索引emp_no,title,from_date
1
1.1 SELECT * FROM tbl WHERE title ='Senior' and emp_no < '10001' //这里使用到了最左前缀的emp_no索引
1.2 SELECT * FROM tbl WHERE title ='Senior' and emp_no like '10001' //这里没有使用到索引
同样都是范围查询 为什么第二个没有使用emp_no索引?
2
2.1
SQL code
用到了所有索引
2.2
SQL code
只用到emp_no的索引
为什么? 第二个的title怎么没用到?
1
1.1 SELECT * FROM tbl WHERE title ='Senior' and emp_no < '10001' //这里使用到了最左前缀的emp_no索引
1.2 SELECT * FROM tbl WHERE title ='Senior' and emp_no like '10001' //这里没有使用到索引
同样都是范围查询 为什么第二个没有使用emp_no索引?
2
2.1
SQL code
SELECT * FROM tbl WHERE emp_no BETWEEN '10001' AND '10010' AND title='Senior Engineer' AND from_date BETWEEN '1986-01-01' AND '1986-12-31';
用到了所有索引
2.2
SQL code
SELECT * FROM tbl WHERE emp_no BETWEEN '10001' AND '10010' AND title='Senior Engineer' AND from_date > '1986-01-01' AND from_date<'1986-12-31';
只用到emp_no的索引
为什么? 第二个的title怎么没用到?
作者: nindeping 发布时间: 2011-11-24
贴出你的
explain SELECT * FROM tbl WHERE title ='Senior' and emp_no < '10001' ;
explain SELECT * FROM tbl WHERE title ='Senior' and emp_no like '10001'
explain SELECT * FROM tbl WHERE title ='Senior' and emp_no < '10001' ;
explain SELECT * FROM tbl WHERE title ='Senior' and emp_no like '10001'
作者: ACMAIN_CHM 发布时间: 2011-11-24
引用
SELECT * FROM tbl
WHERE emp_no BETWEEN '10001' AND '10010'
AND title='Senior Engineer'
AND from_date BETWEEN '1986-01-01' AND '1986-12-31';
用到了所有索引
MYSQL一次只会用一个索引。不可能用到所有索引。 SELECT * FROM tbl
WHERE emp_no BETWEEN '10001' AND '10010'
AND title='Senior Engineer'
AND from_date BETWEEN '1986-01-01' AND '1986-12-31';
用到了所有索引
作者: ACMAIN_CHM 发布时间: 2011-11-24
引用SELECT * FROM tbl
WHERE emp_no BETWEEN '10001' AND '10010'
AND title='Senior Engineer'
AND from_date > '1986-01-01' AND from_date<'1986-12-31';
只用到emp_no的索引
为什么? 第二个的title怎么没用到?
贴出EXPLAIN 和SHOW INDEX FROM TBL; WHERE emp_no BETWEEN '10001' AND '10010'
AND title='Senior Engineer'
AND from_date > '1986-01-01' AND from_date<'1986-12-31';
只用到emp_no的索引
为什么? 第二个的title怎么没用到?
作者: ACMAIN_CHM 发布时间: 2011-11-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28