SSIS 从记录集而不是数据库读取
SSIS reading from Record set instead of Database
我正在对大量数据进行一些数据迁移,其中我需要执行一些数据匹配以确定需要对记录进行的操作。为此,我目前正在做的是从源中读取数据,然后使用 SQL 命令匹配记录 - 这样我就需要为每条记录访问数据库两次。那么,如果我将数据读取到记录集中,然后匹配其中的值,它会提高性能吗?
我正在阅读 SQL Server 2008 R2
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] )
我正在对大量数据进行一些数据迁移,其中我需要执行一些数据匹配以确定需要对记录进行的操作。为此,我目前正在做的是从源中读取数据,然后使用 SQL 命令匹配记录 - 这样我就需要为每条记录访问数据库两次。那么,如果我将数据读取到记录集中,然后匹配其中的值,它会提高性能吗?
我正在阅读 SQL Server 2008 R2
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] )