发布时间:2018-12-03作者:spider阅读(4100)
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来进行。
版权属于: 技术客
原文地址: https://www.sunjs.com/article/detail/ddf9d5b35c3d44989b333b0ec4084d29.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文章为系统自动抓取,如涉及您的版权,请联系博主进行下架处理