2010-12-10 149 views
2

有什么方法可以更快地优化此查询?查询优化

SELECT id FROM business 
WHERE id NOT IN(SELECT business_id FROM business_community GROUP BY business_id) 
+0

我不知道,如果一个LEFT JOIN后跟一个'NULL'检查会更快,但我认为这值得尝试。 – lijie 2010-12-10 14:25:57

+0

仅供参考,它是一个在mysql中的错误 - > http://stackoverflow.com/questions/3417074/why-would-an-in-condition-be-slower-than-in-sql – 2010-12-10 14:37:00

回答

5

试试这个:

SELECT id FROM business AS b 
LEFT JOIN business_community bc ON bc.business_id = b.id 
WHERE bc.business_id IS NULL 
+0

这工作得很好。 。 谢谢 – gumpi 2010-12-10 16:00:33

0

也许用 “DISTINCT business_id”,而不是一组由..