我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL5.7中怎么优化排序limit

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL5.7中怎么优化排序limit

MySQL5.7中怎么优化排序limit,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

 测试一个案例,测试环境分别为MySQL5.5和MySQL5.7。
 在MySQL5.5环境中:

mysql> select * from access_test order by rand() desc limit 5;

| id | access_token | expires_in | creattime | loginuser | loginuserId | logintime | device_token | system | version | vericode | vericodeExpired | veriMobile | photo | status | kickofftime | inviteCode |

| 2365527 | 212941d3aa4d4f8638f4ca03048752246c67b995 | 60480000 | 2015-08-04 13:02:27 | ptt19900201 | 199620 | 2015-08-04 13:04:01 | a6b20bbb2e0f943a3c44e2abe5e3a608ccc88191ae32e5d8b99f4ea526c699e9 | iOS8.4 | 1.0.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 2069322 | 25c44c4c1ef914330d65102c65f5274f4d9b9c30 | 60480000 | 2015-07-22 10:19:57 | NULL | 0 | NULL | As1PFaQq0sym0U4sMG3lAdEnMXuLlDIvEO6eZxpUzSQx | X600,21,5.0 | 1.0.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 1910914 | 9322390ed909db4f20ebe6a7e9b4aa10888106ad | 60480000 | 2015-07-13 21:38:32 | NULL | 0 | NULL | 5c08686798219e8407c6f1d7cc32d6f6f2b0dc66a17647e5c9c32d4ce0e79277 | iOS8.1.2 | 1.0.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 2336645 | 8d07e5b0a711906c1922963d4bb69ec08f2ba4f2 | 60480000 | 2015-08-02 22:06:10 | NULL | 0 | NULL | 865786027572153 | Lenovo A360t,19,4.4.2 | 1.0.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 1813583 | 39f7fbab24dad7125517808690c54b2329b624a7 | 60480000 | 2015-07-07 22:34:19 | NULL | 0 | NULL | ed0f81be203d0b281c989d2ea9a64add4ecddeeb824e050d9a067294ac052cf2 | iOS8.1 | 1.0.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

5 rows in set (4.60 sec)

  耗费时间4.6s
 在MySQL5.7测试环境中:


mysql> select * from access_test order by rand() desc limit 5;


| id | access_token | expires_in | creattime | loginuser | loginuserId | logintime | device_token | system | version | vericode | vericodeExpired | veriMobile | photo | status | kickofftime | inviteCode |


| 17114767 | cdbe148a51d17e2defb6f26d8141b69c40caafa9 | 604800 | 2017-06-13 09:34:54 | NULL | 0 | NULL | 01dd46326bfeefc1123162efca0b95bbf63eb7f00b5d854ef3e6c63c8b2d6064 | iOS10.3.2 | 2.2.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 16743322 | 5db141fdbcdb77b846ba9700ed47b299719ccb25 | 604800 | 2017-05-10 11:08:57 | NULL | 0 | NULL | AmWwno8vzQ9qOuQYemc7ou-sSBzC_wpFg8har6o5Q6KS | MI MAX,23,6.0.1 | 2.2.0 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 16804100 | 257d7f1ae8c3d0c56e1805d95f3a5ba6af351930 | 604800 | 2017-05-16 11:55:55 | 15195807989 | 1418561 | 2017-05-16 11:56:13 | e86a5208841e53c703ddcf4f949c150ecedc7d7d24659b67ec90e58dbbfcc9e7 | iOS10.0.2 | 2.2.0 | NULL | NULL | NULL | NULL | 0 | 2017-05-30 00:41:31 | NULL |

| 17019899 | 46dc11b60606a8e29c2317742c68cd8e5520fe0a | 604800 | 2017-06-05 09:50:34 | NULL | 0 | NULL | b34fe60cf907b551345043f8c82d178a6d360d75f84657c6135cedbe4d4b1f55 | iOS10.3.2 | 2.2.2 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

| 17129397 | 42539aa7fd26a77835ca3e88bd43e0257e3906e9 | 604800 | 2017-06-14 12:46:23 | NULL | 0 | NULL | 2c663f14343de2ddfd6fc53078f3df8d765a1564494dcd58f957395cbc1b44dd | iOS9.3.2 | 2.2.3 | NULL | NULL | NULL | NULL | 1 | NULL | NULL |

5 rows in set (2.29 sec)

  耗费时间2.29s。
 该测试过程,两个环境中,表结构一模一样,MySQL5.7耗时仅为MySQL5.5版本的50%。
 原因如下:
 MySQL5.5版本中对非索引字段进行排序时候,会对表所有记录进行排序,然后取出limit 5条记录。MySQL5.6/5.7中,只针对limit 5条记录进行排序,这样就加快了速度。

看完上述内容,你们掌握MySQL5.7中怎么优化排序limit的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL5.7中怎么优化排序limit

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mongodb排序分页非常慢怎么优化

优化 MongoDB 排序分页的性能,可以考虑以下几个方面:索引优化:确保所查询的字段上有合适的索引。对于排序字段和分页字段,可以创建复合索引。索引可以大幅提升查询性能。限制查询数据量:可以通过 limit 限制查询的文档数量,避免一次查
2023-10-22

mysql排序优化的方法是什么

MySQL排序优化的方法有以下几种:索引优化:为排序的列创建索引,可以大幅提高排序的效率。可以考虑创建单列索引、组合索引或者覆盖索引来优化排序操作。排序字段选择:尽量选择较短的排序字段,可以减少排序操作的时间。如果排序字段较长,可以考虑使用
mysql排序优化的方法是什么
2024-04-09

mysql中怎么排序

在 mysql 中排序可以按特定列排列结果集。语法为:select * from table_name order by column_name [asc|desc]。可排序多个列并使用表达式排序。默认空值视为最大值,但可使用 nulls
mysql中怎么排序
2024-05-30

小程序怎么优化

这篇文章主要介绍了小程序怎么优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。优化项1. 合理的使用分包微信小程序的主要特点是启动快速,为了这一特性,官方因此限制了包的大小,
2023-06-22

Xunsearch搜索中的查询优化与结果排序(如何优化Xunsearch的查询性能并控制结果排序?)

本文介绍了Xunsearch搜索中的查询优化和结果排序,包括索引优化、查询重写、缓存、分页、相关性得分、自定义排序、权重、过滤器、地理位置排序和排序优化。通过优化查询性能和控制结果排序,可以提高搜索效率和结果质量,为用户提供更好的搜索体验。
Xunsearch搜索中的查询优化与结果排序(如何优化Xunsearch的查询性能并控制结果排序?)
2024-04-02

mysql多字段排序优化的方法是什么

在 MySQL 中,可以通过使用多字段排序来优化查询性能。以下是一些优化方法:确保查询中的字段添加了合适的索引。在多字段排序中,如果查询中的字段都有索引,MySQL 可以更快地排序数据。可以使用 EXPLAIN 命令来查看查询执行计划,确保
mysql多字段排序优化的方法是什么
2024-04-09

微信小程序中怎么优化性能

微信小程序的性能优化可以从多个方面入手,以下是一些优化性能的方法:减少页面的渲染元素和层数:尽量减少页面中的元素数量和嵌套层数,可以减少页面渲染的时间和资源消耗。使用合适的图片格式和大小:尽量使用适当大小和格式的图片,避免使用过大的图片或不
微信小程序中怎么优化性能
2024-04-09

如何优化PHP开发中的排序和搜索算法

摘要:PHP是一种常用的服务器端编程语言,在开发过程中,排序和搜索算法的优化对于提升性能和提高用户体验非常重要。本文将介绍一些优化PHP开发中排序和搜索算法的方法,并提供具体的代码示例。一、排序算法优化方法选择合适的排序算法:在选择排序算法
2023-10-21

sql中怎么降序排序数据

sql中降序排序数据的方法:使用order by子句指定排序的列名称,后接desc关键字。例如:select * from table_name order by column_name desc;将按column_name列降序排序。SQ
sql中怎么降序排序数据
2024-05-12

MySQL怎么按年/月/周/日/小时分组查询、排序、limit及判空

今天小编给大家分享一下MySQL怎么按年/月/周/日/小时分组查询、排序、limit及判空的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来
2023-03-06

GO中怎么对map排序

本篇内容主要讲解“GO中怎么对map排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GO中怎么对map排序”吧!前言GO语言中,map是哈希表,能够将特定类型的key映射到特定类型的Value
2023-07-05

编程热搜

目录