首页 / MYSQL / mysql 多列索引的生效规则
mysql 多列索引的生效规则
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql 多列索引的生效规则,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2192字,纯文字阅读大概需要4分钟。
内容图文
![mysql 多列索引的生效规则](/upload/InfoBanner/zyjiaocheng/494/df6dc7d0d8a949ca8067b13074795fcd.jpg)
(0) select * from mytable where a=3 and b=5 and c=4; abc三个索引都在where条件里面用到了,而且都发挥了作用 (1) select * from mytable where c=4 and b=6 and a=3; 这条语句列出来只想说明 mysql没有那么笨,where里面的条件顺序在查询之前会被mysql自动优化,效果跟上一句一样 (2) select * from mytable where a=3 and c=7; a用到索引,b没有用,所以c是没有用到索引效果的 (3) select * from mytable where a=3 and b>7 and c=3; a用到了,b也用到了,c没有用到,这个地方b是范围值,也算断点,只不过自身用到了索引 (4) select * from mytable where b=3 and c=4; 因为a索引没有使用,所以这里 bc都没有用上索引效果 (5) select * from mytable where a>4 and b=7 and c=9; a用到了 b没有使用,c没有使用 (6) select * from mytable where a=3 order by b; a用到了索引,b在结果排序中也用到了索引的效果,前面说了,a下面任意一段的b是排好序的 (7) select * from mytable where a=3 order by c; a用到了索引,但是这个地方c没有发挥排序效果,因为中间断点了,使用 explain 可以看到 filesort (8) select * from mytable where b=3 order by a; b没有用到索引,排序中a也没有发挥索引效果
补充一个:
快速生成1000W测试数据库;
创建测试表:
create table user ( id int(10) not null auto_increment, uname varchar(20) , regtime char(30) , age int(11) , primary key (id) ) engine=myisam default charset=utf8 collate=utf8_general_ci , auto_increment=1 ;
编写存储过程:
delimiter $$ SET AUTOCOMMIT = 0$$ create procedure test() begin declare v_cnt decimal (10) default 0 ; dd:loop insert into user values (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50), (null,rand()*10,now(),rand()*50); commit; set v_cnt = v_cnt+10 ; if v_cnt = 10000000 then leave dd; end if; end loop dd ; end;$$ delimiter ;
调用存储过程:
call test();
mysql 多列索引的生效规则
标签:就会 数据 abc http sam now() image 快速 val
本文系统来源:http://www.cnblogs.com/zox2011/p/7822812.html
内容总结
以上是互联网集市为您收集整理的mysql 多列索引的生效规则全部内容,希望文章能够帮你解决mysql 多列索引的生效规则所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。