是“不存在”错误的SQL实践?

时间:2011-07-21 13:54:19

标签: sql sql-server coding-style

在SQL Server中,在查询中使用“NOT EXISTS”被认为是不好的做法,我听说微软代码审查测试NOT EXISTS并将其标记为警告。为什么NOT EXISTS被认为是不好的做法,并且加入运算符比NOT EXISTS更受欢迎?

1 个答案:

答案 0 :(得分:4)

鉴于:

  • 任何合理的查询优化器都可以在“不存在”,“存在”和“加入”之间进行转换,因此这些天通常没有性能差异。

  • “不存在”通常更容易阅读然后加入。

因此,在一般情况下,我不认为“不存在”是不好的做法。