使用LEFT JOIN提高性能

时间:2011-10-26 20:30:17

标签: mysql ruby-on-rails-3 activerecord left-join

2 个答案:

答案 0 :(得分:7)

这么多JOIN可能是一个非常糟糕的主意,但你应该先显示你的查询。

首先,需要索引才能加快查询速度。如果你没有,你可能应该创建一些(取决于你执行的查询)。

如果你做了多个LEFT JOIN,那么你可以(可能)将它们分成不同的查询,这应该可以让应用程序更快地运行。

您可以参考MySQL's documentation on optimization,特别是LEFT JOIN optimizationoptimization using indexes。这可能会为您提供更多详细信息。

答案 1 :(得分:3)

这可能有很多原因。查询性能差,索引不良等。解释,查询甚至可能甚至创建有关表的表语句将有助于得出答案。

大多数时候,当我看到这种事情时,这是一个糟糕的指数问题。