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

MySQL 8.0里GROUP BY有变化,注意了

运行如下SQL:

MySQL 8.0里GROUP BY有变化,注意了

下面是8.0 版本:

MySQL 8.0里GROUP BY有变化,注意了

运行相同的SQL:

MySQL 8.0里GROUP BY有变化,注意了

如果这种情况下 进行分页

5.7 版本:

MySQL 8.0里GROUP BY有变化,注意了

8.0版本:

MySQL 8.0里GROUP BY有变化,注意了

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

MySQL 8.0里GROUP BY有变化,注意了


原文发布时间为:2018-11-28
本文作者:松华老师
本文来自云栖社区合作伙伴“老叶茶馆”,了解相关信息可以关注“老叶茶馆”。

相关文章:

  • 2022-12-23
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
  • 2022-12-23
  • 2021-06-26
  • 2021-12-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
  • 2022-03-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案