如题所示,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来进行。
原文发布时间为:2018-11-28
本文作者:松华老师