我正在对大量数据进行一些数据迁移,我需要在其中执行一些数据匹配,以便识别需要对记录执行的操作。为此,我目前正在做的是从源读取数据,然后使用SQL命令匹配记录 - 这样我就需要为每条记录命中两次数据库。因此,如果我将数据读取到记录集然后匹配其中的值,它会改善性能吗?
我正在阅读SQL Server 2008 R2
答案 0 :(得分:2)
1)使用查找转换是合并记录的一种有效方式
2)使用合并程序
前:
MERGE [dbo].[Value] AS TARGET
USING [dbo].[view_Value] AS SOURCE
ON (
TARGET.[Col1] = SOURCE.[col1]
)
WHEN MATCHED
THEN
UPDATE SET
TARGET.[col3] = SOURCE.[col3]
TARGET.[col2] = SOURCE.[col2]
WHEN NOT MATCHED BY TARGET THEN
INSERT ([col1], [col2], [col3] )
VALUES (SOURCE.[col1], SOURCE.[col2], SOURCE.[col3] )