假设您有像
这样的查询SELECT
t1.c1,
t2.c2,
... more fields from joins ...
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
... more joins ...
GROUP BY t1.field
WHERE ...
您遇到了性能问题,并且您认为此类查询已涵盖all the common optimizations,例如在ON
,GROUP BY
,{{ 1}}等等。但它仍然很慢。
答案 0 :(得分:1)
检查所有联接是否属于实际表格而不是视图!
我知道这显然是明显的,但它被困了一段时间,因为我刚忘记其中一个连接是为了观点。
在我自己找到答案之前,这是一个我没有回答的问题,但我想发布以帮助其他任何有同样问题的人,因为在任何其他关于优化的帖子中都没有提到使用JOIN查询GROUP BY。我不确定这是否被SO接受,但我还在this post上添加了已接受的答案,因此如果管理员想要删除此帖子,我不会被冒犯。