我有一个数据流,我需要从'SQL tableA'中获取列值,并使用该列值在'SQL tableB'中执行查找任务。如果查找找到了两个表之间的连接,则需要从“ SQL tableA”中获取另一列的值,并将此值放入“ SQL tableC”(将被保留的表)中。如果查找失败,则此列值将为NULL。
我的问题:发生上述行为后,其余流程相同。因此,在查找之下,我有两个重复的相等流。这对于可读性和维护性来说很糟糕。
我该怎么做才能解决这种情况,而性能损失很小?数据模型是遗留的,因此无法更改数据模型。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS81eEpkeS5wbmcifQ==” alt =“在此处输入图像描述”>
最好的问候,路易斯
我的看法,实际上有三个选择:
使用UNION ALL并可能牺牲性能来实现模块化。实际上可能存在no性能问题。您应该进行测试,然后查看
如果可能,请在存储过程中实现所有这些。您可以在那里实现代码重用,它可能会运行得更快]]
构建实现最后三个步骤的custom transformation component。此选项吸引所有程序员,但性能可能最差,我认为这只会导致问题。如果您要在SSIS中编写大量C#代码,那么最终您将可以轻松构建一个独立的应用程序。
如果您解释了,回答起来会容易得多
这三个活动是什么?
您的约束是什么