SQL“IN”语句与使用“OR”之间是否存在性能差异?

时间:2010-04-29 19:43:51

标签: sql sql-server-2008 syntax

以为我会问知识渊博的StackOverflow社区一个我今天想到的问题,我似乎无法找到答案。

“IN”或使用“OR”之间是否有任何性能差异或优势?

IE中。是

SELECT类型FROM类型WHERE typecat IN('abc','def')

优于

SELECT类型FROM类型WHERE typecat ='abc'或typecat ='def'

添加:使用SQL Server 2008

3 个答案:

答案 0 :(得分:2)

这完全取决于您使用的SQL产品,您尚未说明。我经常使用的一个RDBMS不能使用OR版本的索引。

答案 1 :(得分:1)

不,没有性能差异。优化器负责处理它。

答案 2 :(得分:1)

如果我没记错的话,SQL Server会将您拥有的IN语句转换为OR语句。