由于GROUP BY 实际上也同样会进行排序操作,详解询而且与ORDER BY 相比,组查GROUP BY 主要只是实现多了排序之后的分组操作。当然,原理如果在分组的详解询时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的组查计算。所以,实现在GROUP BY 的原理实现过程中,与 ORDER BY 一样也可以利用到索引。详解询
在MySQL 中,组查GROUP BY 的实现实现同样有多种(三种)方式,其中有两种方式会利用现有的索引信息来完成 GROUP BY,另外一种为完全无法使用索引的场景下使用。下面我们分别针对这三种实现方式做一个分析。
1.使用松散(Loose)索引扫描实现 GROUP BY
何谓松散索引扫描实现 GROUP BY 呢?实际上就是当 MySQL 完全利用索引扫描来实现 GROUP BY 的时候,并不需要扫描所有满足条件的索引键即可完成操作得出结果。