MySQL5.6优化了Order by排序limit
表结构(1000万行记录):
mysql> show create table sbtest\G;
*************************** 1. row ***************************Table: sbtest
Create Table: CREATE TABLE `sbtest` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`k` int(10) unsigned NOT NULL DEFAULT '0',`c` char(120) NOT NULL DEFAULT '',`pad` char(60) NOT NULL DEFAULT '',PRIMARY KEY (`id`),KEY `k` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8
我现在对sbtest表非索引字段进行order by排序,版本是MySQL5.5,耗时时间如下:
结果是3分钟14.78秒。
下面再到MySQL5.6里,同样执行这条SQL,看看耗时时间:
结果是12.53秒。
这个是为啥呢?在MySQL5.5里对非索引字段排序时,会对表的所有记录进行一次排序操作,然后取出LIMIT 10条记录,余下的记录抛弃。而在MySQL5.6里,只针对LIMIT 10条记录进行排序,余下的记录并不会进行排序,这样就加快了速度,提高了性能。
参考手册:
转载于:https://blog.51cto.com/hcymysql/1358543
MySQL5.6优化了Order by排序limit相关推荐
- mysql key value 排序_MySQL利用索引优化ORDER BY排序语句的方法
创建表&创建索引 create table tbl1 ( id int unique, sname varchar(50), index tbl1_index_sname(sname desc ...
- MySQL如何利用索引优化ORDER BY排序语句
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...
- mysql limit asc_MySql sql优化之order by desc/asc limit M-阿里云开发者社区
Order by desc/asc limit M是我在mysql sql优化中经常遇到的一种场景,其优化原理也非常的简单,就是利用索引的有序性,优化器沿着索引的顺序扫描,在扫描到符合条件的M行数据后 ...
- mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...
- 切记!MySQL中ORDER BY与LIMIT 不要一起用,有大坑
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 1. 现象与问题 ORDER BY排序后,用LIMIT取 ...
- MySQL中 Order By 和 Limit 的排序问题
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | 春卷要炸着吃 来源 | www.cnblogs. ...
- MySQL中Order By与Limit不要一起用
切记!MySQL 中 ORDER BY 与 LIMIT 不要一起用,有大坑...... 现象与问题 ORDER BY 排序后,用 LIMIT 取前几条,发现返回的结果集的顺序与预期的不一样. 下面是我 ...
- mysql limit不要1_切记!MySQL中ORDER BY与LIMIT 不要一起用,有大坑
程序员的成长之路互联网/程序员/技术/资料共享阅读本文大概需要 2.8 分钟. 来自:占小狼 1. 现象与问题ORDER BY排序后,用LIMIT取前几条,发现返回的结果集的顺序与预期的不一样.下面 ...
- 通过索引优化含ORDER BY的MySQL语句
核心提示:合理的建立索引能够加速数据读取效率,不合理的建立 索引反而会拖慢数据库的响应速度,索引越多,更新数据的速度越慢,当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺 ...
最新文章
- 优达学城《DeepLearning》项目2:犬种分类器
- mysql事务隔离级别 花_MySQL事务的隔离级别
- 计算机用户删除 cmd,用命令行删XP中的用户。除administrator外
- php获取上海时间代码,PHP获取星期的方法及代码
- 126. Word Ladder II
- Java中的面向接口编程
- KDD走进阿里 数百专家聚集探讨产学研一体化
- Windows获取CPU、内存和磁盘使用率脚本
- Git Windows安装手册
- Codepen 每日精选(2018-4-21)
- pythonserial函数_python3.5 中serial模块的问题
- vue使用echarts错误Failed to mount component: template or render function not defined.
- Hbuilder问题记录
- 威联通212P 在admin用户密码正确情况下仍然无法登录WEB页面解决办法
- 基于Labview带通滤波器设计实例演示
- 交通规划软件功能分析
- 斗牛(牛牛)概率计算器
- 在线压缩图片---*.jpg *.png
- 项目实操总结:拼团活动的设计
- 我和谷歌共同成长----Andriod(安卓)开发(持续更新)