Mysql a,b分组与b,a分组

Mysql a,b分组与b,a分组,mysql,sql,group-by,Mysql,Sql,Group By,我想知道按a,b分组的顺序与按b,a分组的顺序之间是否有差异(我知道最终结果是相同的)。如果是这样,它会影响查询的速度吗?一个group by子句只定义了字段的唯一组合,它将被视为一个组。这些字段的说明顺序没有任何意义。如果您有多个列索引,这一点很重要。您应该按照索引的顺序定义GROUP BY列 因此,如果您有(a,b)的索引,那么您应该使用groupbya,b,MySQL能够充分利用该索引 请参见无差异。。。。不管怎样,检查相关的解释计划在理论上是不正确的(但我不能保证在一些引擎中实现未完成优

我想知道
按a,b分组的顺序与
按b,a分组的顺序之间是否有差异(我知道最终结果是相同的)。如果是这样,它会影响查询的速度吗?

一个
group by
子句只定义了字段的唯一组合,它将被视为一个组。这些字段的说明顺序没有任何意义。

如果您有多个列索引,这一点很重要。您应该按照索引的顺序定义
GROUP BY

因此,如果您有(a,b)的索引,那么您应该使用
groupbya,b
,MySQL能够充分利用该索引


请参见

无差异。。。。不管怎样,检查相关的解释计划在理论上是不正确的(但我不能保证在一些引擎中实现未完成优化的情况下有相同的性能-当
a
b
是相关子查询内的窗口函数中的一些计算值或其他东西时…),这实际上是不正确的。请参见上面的示例。