SSIS 连接数据

本文探讨了SSIS(SQL Server Integration Services)中的数据连接,包括查找转换和合并连接的使用,强调了合并连接对输入数据排序的要求。此外,还对比了SSIS连接与关系数据库连接的差异,如性能、原子性和排序需求,建议在适当情况下利用关系数据库的优势进行连接操作。
摘要由CSDN通过智能技术生成

通常情况下,ETL方案需要同时访问两个或多个数据源,并把结果合并为单个数据流,输出到目标表中。为了向目标表中提供统一的数据结构,需要把多个数据源连接在一起。数据连接的另外一种用法,就是根据现有的数据,向目标表中添加数据,或者更新现有的数据。这种方案是把源数据与现有的数据进行比较,以便找到需要更新的数据行,或者需要添加的数据。在设计ETL方案时,连接数据可以使用SSIS的转换(Lookup和Merge Join)组件,或者直接在关系型数据库内部执行,而后者性能更高。

一,SSIS 连接

查找转换以嵌套循环(Nested Loop)的方式实现连接操作,该组件被设计为以同步方式进行连接操作,这意味着在进行转换的时候,查找转换不会阻塞数据流管道,但是,在全缓存(Full Cache)模式下,当组件加载查找数据集的内部缓存时,可能会阻塞包一段时间,阻塞时间的长短由加载查找数据集的时间来决定。

合并连接(Merge Join)转换也可以实现连接操作,通常情况下,它比查找转换更适合做连接操作,转换的性能更高。相比查找转换,合并连接对输入数据的要求更严格:

  • 两个输入的数据必须是有序的
  • 设置连接类型,Merge Join支持Inner Join,Left Join和Full Join三种连接类型;
  • 设置比较列的映射,Merge Join只支持等值连接&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值