我有一个需要连接到维度表的事实表,但是从源数据中获取这种关系并不容易。事实表是从具有大约一百万行的源表中加载的,因此根据最佳实践,我使用上一次运行日期来仅选择自上一次运行以来添加的源行。在获得我希望加载的行之后,我需要通过 3 个其他表才能对维度表进行查找。3 个表中的每一个也有大约一百万行。
我读过最佳实践说不要提取您知道不需要的源数据。最佳实践还说在源系统上尽可能轻触,因此避免 sql 连接。但就我而言,这两个最佳实践变得相互排斥。如果我只提取中间表中更改的行,那么我需要在源查询中进行连接。如果我从源系统中提取所有行,那么我提取的数据比我需要的多得多,这可能会导致 SSIS 内存/性能问题。
我倾向于加入源数据的提取,但我一直无法找到任何关于这种方法的优缺点的讨论。这是正确的还是不正确的?(源表和 DW 表在 Oracle 中)。