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

 导 读

作者:松华老师,《SQL优化课程》讲师

微信号:qidan3500,欢迎交流拍砖

知数堂只分享干货,各精品课程讲授的都是职场实用技能smiley_4.png


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

MySQL 8.0里GROUP BY有变化,注意了_第1张图片

运行如下SQL:

MySQL 8.0里GROUP BY有变化,注意了_第2张图片

下面是8.0 版本:

MySQL 8.0里GROUP BY有变化,注意了_第3张图片

运行相同的SQL:

MySQL 8.0里GROUP BY有变化,注意了_第4张图片

如果这种情况下 进行分页

5.7 版本:

MySQL 8.0里GROUP BY有变化,注意了_第5张图片

8.0版本:

MySQL 8.0里GROUP BY有变化,注意了_第6张图片

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

MySQL 8.0里GROUP BY有变化,注意了_第7张图片


640.gif?


加入知数堂

挑战40万+年薪!



640?MySQL 8.0里GROUP BY有变化,注意了_第8张图片640?640?


知数堂

叶金荣与吴炳锡联合打造

领跑IT精英培训

行业资深专家强强联合,倾心定制

MySQL实战/MySQL优化/MongoDB/

Python/ SQL优化/Hadoop+ELK

数门精品课程

“阅读原文”可获更多正课试听视频

密码:hg3h

紧随技术发展趋势,定期优化培训教案

融入大量生产案例,贴合企业一线需求

社群陪伴学习,一次报名,可学1年

DBA、开发工程师必修课

上千位学员已华丽转身,薪资翻番,职位提升

改变已悄然发生,你还在等什么?

640.png?



MySQL 8.0里GROUP BY有变化,注意了_第9张图片


扫码加入QQ技术交流群

高性能MySQL,SQL优化-ZST

(QQ群号:579036588)

MySQL 8.0里GROUP BY有变化,注意了_第10张图片



 















你可能感兴趣的:(MySQL 8.0里GROUP BY有变化,注意了)