0

重複の可能性:
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 は一意でないインデックスです。

それで、回避できる遅延を引き起こす既知の問題はありますか?

4

0 に答える 0