SSIS 源表与目标表数据同步的效率问题
0
问题背景:源表位于localhost1上的A表,目标表位于localhost2的B表,A,B两个表结构完全相同,并且有主键索引.数据量为1亿条,每天的更新数据量最高2,3W左右
问题描述:对于A表中的更新数据,晚上定期同步到B表的时候,哪种效率更高
1.查询A表当天更新的数据,将数据导入到localhost2的A_Temp表,A_temp表没有索引。调用B表删除,利用主键删除即可。最后将A_Temp数据导入到B表
以上,哪种效率更高?
问题描述:对于A表中的更新数据,晚上定期同步到B表的时候,哪种效率更高
1.查询A表当天更新的数据,将数据导入到localhost2的A_Temp表,A_temp表没有索引。调用B表删除,利用主键删除即可。最后将A_Temp数据导入到B表
- []查询A表当天更新数据,利用SSIS的OLEDBCommand组件,逐条Check,不需要落地,直接更新。[/]
以上,哪种效率更高?
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2014-09-10 回答
赞同来自: 梁勇
那个效率多低,你竟然用OLEDB. 试试 CheckSum + SSIS的lookup
这个问题之前有人在社区提过,之前回答过类似的
superboyli520 - 微软BI技术达人 2014-09-11 回答
赞同来自:
如果有权限,启用CDC或更改跟踪。可以方便解决你的问题。
但以上办法,需要你有业务库权限。