考虑一下SO 上的这个答案,它使询问者对<>运营商感到放心:
<>
<>是 ... 与 相同!=。
!=
但随后一位评论者插嘴说:
确实,它们在功能上是相同的。但是,SQL 优化器如何使用它们是非常不同的。=/!= 被简单地评估为真/假,而 <> 意味着引擎必须查看该值是大于还是小于,这意味着更多的性能开销。只是在编写可能很昂贵的查询时需要考虑的事情。
我相信这是错误的,但为了解决潜在的怀疑论者,我想知道是否有人可以提供权威或规范的来源来证明这些运算符不仅在功能上相同,而且在所有方面都相同?
performance sql-server operator
你能解释一下这两个运算符之间的区别吗?
sID != smth 而不是 sID = smth。
乍一看,它们似乎完全相同。但它们给出了不同的结果。
sql-standard operator
operator ×2
performance ×1
sql-server ×1
sql-standard ×1