MySQL8.0里GROUP BY有變化,注意了
作者:老葉茶館
如題所示,MySQL 8.0開始 group by 默認(rèn)是沒有排序的,那MySQL 8.0之前和 8.0 就有可能結(jié)果出現(xiàn)不同 需要警惕
如題所示,MySQL 8.0開始 group by 默認(rèn)是沒有排序的,那MySQL 8.0之前和 8.0 就有可能結(jié)果出現(xiàn)不同,需要警惕。
運行如下SQL:
下面是8.0 版本:
運行相同的SQL:
如果這種情況下,進(jìn)行分頁。
5.7 版本:
8.0版本:
由上可見,兩個結(jié)果是不一樣的,原因是:8.0之前,group by 包含using filesort,而8.0開始是沒有的,為了避免這種問題,8.0開始除了索引替換排序的優(yōu)化思路之外的相關(guān)排序,我們都必須使用order by來進(jìn)行。
責(zé)任編輯:龐桂玉
來源:
老葉茶館