可能重复:
T-SQL 中 SELECT 与 SET 的速度
我正在使用 SQL Server 2008 R2
当我使用
DECLARE @out INT
哪个更快:
SELECT TOP 1 @out = myCol FROM myTable
或者
SET @out = (SELECT TOP 1 myCol FROM myTable)
如果 myCol 是主键、索引或常规列怎么办?
编辑:(至于mark-schultheiss评论)
问题是,我正在寻找延误的原因。
例如:
3xSET = (SELECT .. FROM .. WHERE)
比具有 3 个任务的 1 SELECT 慢,例如:
SELECT TOP 1 @out1 = myCol1, @out2 = myCol2, @out3 = myCol3
FROM myHugeTable WHERE myCol4 = 7
其中 myCol1 是 PK,myCol2 是 IX,myCol3 是常规列,myCol4 是非唯一索引
那么,是否存在可以避免的导致延迟的已知问题?