首页 / MYSQL / mysql索引对排序的影响实例分析
mysql索引对排序的影响实例分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql索引对排序的影响实例分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2478字,纯文字阅读大概需要4分钟。
内容图文
本文实例讲述了mysql索引对排序的影响。分享给大家供大家参考,具体如下:
索引不仅能提高查询速度,还可以添加排序速度,如果order by 后面的语句用到了索引,那么将会提高排序的速度。
测试
1、创建测试表:t15表
CREATE TABLE `t15` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `cat_id` int(10) unsigned NOT NULL DEFAULT '0', `price` decimal(10,2) NOT NULL DEFAULT '0.00', `name` char(5) NOT NULL DEFAULT '', PRIMARY KEY (`id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8
2、插入1W行数据
<?php $db = 'test'; $conn = mysql_connect('localhost','root','1234'); mysql_query('use ' . $db , $conn); mysql_query('set names utf8' , $conn); for($i=1;$i<=10000;$i++) { $cat_id = rand(1,10); $price = rand(1,50000); $name = substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,5); $sql = sprintf("insert into t15 values (%d,%d,%f,'%s')",$i,$cat_id,$price,$name); mysql_query($sql , $conn); }
3、商场网站,一般都会按照某个分类进行价格上的排序,我们来模拟一下,执行同一条sql语句。
select name,cat_id,price from t15 where cat_id=1 order by price;
(1)首先不添加索引
从查询分析可以看到Extra中使用到了Using filesort
,表示需要进行文件排序。
(2)给(cat_id,price)列添加索引
alter table t15 add index cp(cat_id,price);
这里的查询分析中Extra没用了Using filesort,表示添加上索引再进行查询的sql没有使用到外部排序,而是使用到了索引的排序,因为索引本身就是会排序的,所以不需要额外的order by一次。
4、观测查询时间
Query_ID为1的是没有添加索引执行的语句,Query_ID为3的是添加索引后执行的语句,一个执行时间为0.013秒,一个执行时间为0.005秒,肯定是加上索引的快,我们来看看具体快在哪里
Query_ID为1的sql语句执行详细耗时图:
Query_ID为3的sql语句执行详细耗时图:
很明显,Query_ID1中的Sorting result
耗时0.012秒,而Query_ID2中的Sorting result
只耗时0.000004秒,而这个Sorting result
就是排序耗时。
结论:索引对排序的速度是有一定的影响的,所以,在实际的开发中,要结合实际情况制定索引,并尽可能将排序字段添加至索引中。
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL索引操作技巧汇总》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
您可能感兴趣的文章:
- mysql建立高效的索引实例分析
- mysql重复索引与冗余索引实例分析
- mysql索引覆盖实例分析
- MySQL中NULL对索引的影响深入讲解
- 详解MySQL索引原理以及优化
- 通过唯一索引S锁与X锁来了解MySQL死锁套路
- mysql 添加索引 mysql 如何创建索引
- MySQL索引类型总结和使用技巧以及注意事项
- MySQL查看、创建和删除索引的方法
- MySQL 创建索引(Create Index)的方法和语法结构及例子
- mysql聚簇索引的页分裂原理实例分析
内容总结
以上是互联网集市为您收集整理的mysql索引对排序的影响实例分析全部内容,希望文章能够帮你解决mysql索引对排序的影响实例分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。