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