我有一个简单的查询来对行进行分组,这需要0.0045秒。 300.000行SELECT cid FROM table GROUP BY cid
当我添加MAX()进行查询时,需要0.65秒才能返回。SELECT MAX(id) id, cid FROM table GROUP BY cid
如何加快查询速度?该查询在我的本地主机上运行以进行测试。 id =主键,我在cid上有索引。
最佳答案
原因是两个查询之间的差异:
因此,要回到更理想的第一种情况,您需要一个索引,该索引可以同时提供:按cid分组和最小/最大id。您可以尝试通过在(cid,id)上创建索引来实现这一目标
关于group-by - MySQL加快max()分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12309224/