加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL8.0里GROUP BY有变化,注意了

发布时间:2019-01-01 23:09:25 所属栏目:MySql教程 来源:老叶茶馆
导读:如题所示,MySQL 8.0开始 group by 默认是没有排序的,那MySQL 8.0之前和 8.0 就有可能结果出现不同,需要警惕。 运行如下SQL: 下面是8.0 版本: 运行相同的SQL: 如果这种情况下,进行分页。 5.7 版本: 8.0版本: 由上可见,两个结果是不一样的,原因是

如题所示,MySQL 8.0开始 group by 默认是没有排序的,那MySQL 8.0之前和 8.0 就有可能结果出现不同,需要警惕。

MySQL8.0里GROUP BY有变化,注意了

运行如下SQL:

MySQL8.0里GROUP BY有变化,注意了

下面是8.0 版本:

MySQL8.0里GROUP BY有变化,注意了

运行相同的SQL:

MySQL8.0里GROUP BY有变化,注意了

如果这种情况下,进行分页。

5.7 版本:

MySQL8.0里GROUP BY有变化,注意了

8.0版本:

MySQL8.0里GROUP BY有变化,注意了

由上可见,两个结果是不一样的,原因是:8.0之前,group by 包含using filesort,而8.0开始是没有的,为了避免这种问题,8.0开始除了索引替换排序的优化思路之外的相关排序,,我们都必须使用order by来进行。

MySQL8.0里GROUP BY有变化,注意了

【编辑推荐】

  1. MySQL误删数据救命指南:开发人员必收藏
  2. 使用systemtap调试工具分析MySQL的性能
  3. MySQL基本知识点梳理和查询优化
  4. 深度解析双十一背后的阿里云Redis服务
  5. MySQL索引设计不可忽视的知识点
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读