MySQL8.0里GROUP BY有变化,注意了
发布时间:2025-05-23 12:30:31
作者:益华网络
来源:undefined
浏览量(0)
点赞(0)
摘要:如题所示,MySQL 8.0开始 group by 默认是没有排序的,那MySQL 8.0之前和 8.0 就有可能结果出现不同,需要警惕。 运行如下SQL: 下面是8.0 版本: 运行相同的SQL: 如果这种情况下,进行分页。 5.7 版本: 8.
如题所示,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来进行。
扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
0