内存临时表的排序流程如下:
?...至于为什么0在前面,是因为用了磁盘临时表,id取模 排序后存入临时表,临时的数据应该是0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,…
从这个磁盘临时表读取数据汇总的结果的顺序就是...group by 优化方法 – 直接排序
在 group by 语句中加入 SQL_BIG_RESULT 这个提示(hint),就可以告诉优化器:这个语句涉及的数据量很大,请直接用磁盘临时表。...,就会利用磁盘临时文件辅助排序);
排序完成后,就得到了一个有序数组。...m order by null;
-- tmp_table_size太小不能放下数据,会使用磁盘临时表,存放数据后会排序,排完后插入临时表。