【发布时间】:2012-02-02 22:58:31
【问题描述】:
我需要从colA 返回所有不在colB 中的值从mytable。我正在使用:
SELECT DISTINCT(colA) FROM mytable WHERE colA NOT IN (SELECT colB FROM mytable)
它正在运行,但是查询需要很长时间才能完成。
有没有更有效的方法来做到这一点?
【问题讨论】:
-
NOT IN会随着集合大小的增加而变慢,并且NOT IN子句中的行数通常会受到限制。在小的结果集之外,我发现使用其他方法来获得两个结果集之间的差异会更好。 -
在谈到性能时,您必须为您的 RDBMS 命名或获得次优答案。
标签: sql performance distinct notin