如果数据量很大,group by的执行速度就会很慢,要想优化这种情况,还得分析为什么group by 需要临时表?...例如,我们有个表的记录id列是:
0,0,0,1,1,2,2,2,2,3,4,4,
当我们使用group by的时候,就直接从左到右,累计相同的值即可。这样就不需要临时表了。...所以,使用索引可以帮助我们去掉group by依赖的临时表
02
group by优化---直接排序
如果我们已经知道表的数据量特别大,内存临时表肯定不足以容纳排序的时候,其实我们可以通过告知group...昨天的文章中我们分析了union 语句会使用临时表,今天的内容我们分析了group by语句使用临时表的情况,那么MySQL究竟什么时候会使用临时表呢?
MySQL什么时候会使用内部临时表?...1、如果语句执行过程可以一边读数据,一边直接得到结果,是不需要额外内存的,否则就需要额外的内存,来保存中间结果;
2、如果执行逻辑需要用到二维表特性,就会优先考虑使用临时表。