SSIS数据流:查找后重复规则问题

SSIS Data Flow: duplicated rule problem after lookup

我有一个数据流,我需要从 'SQL tableA' 中获取列值并使用该列值在 'SQL tableB' 中执行查找任务。如果查找发现两个 table 之间存在联系,我需要从 'SQL tableA' 中获取另一列的值并将该值放入 'SQL tableC'( table坚持)。如果查找失败,此列值将为 NULL。

我的问题:在上述行为之后,我的流程的其余部分是一样的。所以我在查找下面有两个重复的相等流。这对于可读性和维护来说很糟糕。

我该怎么做才能在不损失性能的情况下解决这种情况? 数据模型是遗留的,所以改变数据模型是不可能的。

此致, 路易斯

依我看,真的只有三个选项:

  1. 使用 UNION ALL 并可能为了模块化而牺牲性能。实际上可能存在 no 性能问题。你应该测试看看

  2. 如果可能,在存储过程中实现所有这些。您可以在那里实现代码重用,它很可能 运行 快得多

  3. 构建一个实现最后三个步骤的 custom transformation component。 此选项对所有程序员都有吸引力,但性能可能最差,在我看来只会导致问题。如果您在 SSIS 中编写大量 C# 代码,那么您最终会更容易地构建一个独立的应用程序。

如果你解释清楚,回答起来会容易得多

  • 你真正在做什么
    • 慢慢改变次元?
    • 数据清理?
    • 添加参考数据?
    • 垃圾邮件
  • 那三项活动是什么?

    • 正在发送电子邮件?
    • 调用网络服务?
    • 打电话给其他人 API?
  • 你的约束是什么

    • 所有这些数据都在一台服务器上吗?您可以创建存储过程和表吗?