2015-03-30 156 views
0

我需要在SSIS中创建一个任务,为我带来一些重复某些次数的记录(例如,分配了多个特征的标识符)。我咨询的表格有数百万条记录,SSIS查找只返回一条记录,即找到第一条匹配的记录。其他人被丢弃。SSIS任务返回多个结果

合并加入不可行,因为它可能需要几小时。我无法过滤我希望的resutlados的结果。

我必须从Oracle中的表带上记录和比较SQL Server标识符,让符合条件的全部(全部)的记录,而不是部分(只有一个)

的加入(内部连接)必须在两个表之间,第一个有10行,第二个有8400万行。结果应该被插入到一个完全为空的表格中

+0

从概念上讲,数据的主要来源将是SalesOrder表。那么您需要根据SalesOrderId获取所有相关的SalesOrderDetail行? – billinkc 2015-03-30 19:00:15

+0

准确。我必须从Oracle的表中提取记录,并将标识符与SQL Server进行比较,并让满足条件的记录全部(全部),而不是部分(仅限一个) – 2015-03-30 19:06:28

+0

您在两个源表/疑问? – billinkc 2015-03-30 19:58:00

回答

0

对于数百万行,我认为你将无法用内存中的缓存来完成这项任务,这会更快。您可以尝试使用完全缓存创建查找任务,并查看它是如何发生的 - 如果空间不足,我相信它会失败。

如果它适合你的业务需求,可以使用临时表和合并报表,它可以快许多倍,比使用合并联接数据流任务:https://technet.microsoft.com/en-us/library/cc280522(v=sql.110).aspx

+0

但查找任务是一个同步组件。 1个输入行= 1个输出行。他们需要一个1:多的查找任务,这是挑战 – billinkc 2015-03-30 19:57:26

+0

啊,我接受了这个:“满足条件的全部(全部),而不是部分(只有一个)”,意味着他需要所有列匹配,而不仅仅是标识符列。但是也许他意味着他需要所有的记录,就像你建议的那样,在一对多关系中。 – TPhe 2015-03-30 20:20:04

+0

受影响的测试,如果有的话,您评论。谢谢! – 2015-03-30 20:55:36