合并数据集性能

时间:2017-10-03 14:33:34

标签: sql sql-server-2008

我在SQL Server 2008中遇到MERGE语句的性能问题。我已经读过在ON子句中涉及的所有列上都有索引会有所帮助,但是我找不到如何在数据集上执行此操作这是为此操作创建的。

MERGE INTO target_table T 
USING (VALUES(?, ?, ?, ?, ?))  AS S (id,unique_code,col1,col2,col3) 
ON ((T.id = S.id) OR (T.unique_code = S.unique_code))

WHEN NOT MATCHED THEN 
INSERT (unique_code,col1,col2,col3) 
VALUES (S.unique_code,S.col1,S.col2,S.col3) 

WHEN MATCHED THEN UPDATE SET T.col1=S.col1,T.col2=S.col2,T.col3=S.col3

target_table已经在" id"和" unique_code"列。 " UNIQUE_CODE"是VARCHAR(50)字段,可以是NULL

0 个答案:

没有答案