小编Eri*_*rik的帖子

在 CASE 语句中,哪个更快:“WHEN [field] in (0)”或“WHEN [field] = 0”?

我正在查看另一个人编写的存储过程,并且每个WHEN子句都使用IN语句而不是=. 我的直觉告诉我这没有那么快、效率高等等。

例如:

CASE WHEN a.Indicator in ('Yes') then 'something'
     WHEN a.STATUS in (0) then 'something 0'
     WHEN a.STATUS in (1) then 'something 1'
     WHEN a.STATUS in (2) then 'something 2'
     WHEN a.STATUS in (3,4,5,6,7,8) then 'something big'
END
Run Code Online (Sandbox Code Playgroud)

使用IN而不是更快=吗?

performance sql-server-2008 sql-server stored-procedures t-sql query-performance

6
推荐指数
1
解决办法
5725
查看次数