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

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

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

运行如下SQL:

下面是8.0 版本:

运行相同的SQL:

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

5.7 版本:

8.0版本:

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

责任编辑:庞桂玉 来源: 老叶茶馆
相关推荐

2023-03-04 20:50:19

MySQL字典InnoDB

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2022-06-05 23:31:28

ClionMySQL数据

2024-03-25 07:30:03

MySQL数据库SQL日志

2023-03-29 08:13:48

MySQL检索成本

2023-01-02 08:20:14

MySQL数据库

2022-06-30 13:41:44

SQL 语句group by

2022-08-29 08:01:01

MySQL配置Windows

2024-01-30 08:01:22

MySQL数据库分组排序

2021-10-19 10:26:31

MySQL.MySQLJSON

2019-07-19 15:53:45

MySQL 5.7MySQL 8.0MySQL

2021-05-31 19:50:04

MySQL自增锁InnoDB

2019-09-24 13:53:19

MySQLMySQL 8.0数据库

2022-05-07 08:23:57

KubernetesDockershim

2020-04-13 17:17:28

MySQL8.0功能

2022-06-13 11:33:59

RedoMySQL

2020-05-18 12:04:17

PrometheusMySQL监控

2022-10-10 08:01:08

MySQL字典表

2020-10-15 08:40:52

MySQL 8.0开发架构
点赞
收藏

51CTO技术栈公众号