如何使用大型数据集来处理增量负载

时间:2009-04-30 21:14:08

标签: database performance ssis etl

我有2个表(约400万行),我必须对匹配和不匹配的记录执行插入/更新操作。我对用于增量加载的方法感到很困惑。我应该使用Lookup组件还是新的sql server merge语句?并且会有太多的性能差异吗?

3 个答案:

答案 0 :(得分:1)

我遇到过这个问题几次,我总是不得不求助于通过ETL将完整的数据集加载到SQLserver中,然后使用存储过程进行操作。它似乎总是让位,在SSIS转换中动态更新数据的时间过长。

答案 1 :(得分:0)

SSIS Lookup有三种缓存模式,这对于从中获得最佳性能至关重要。如果你正在查看一个大表,FULL Cache模式将占用大量内存并可能会影响性能。如果您的查找目标很小,请将其保留在内存中。您还需要确定您正在查看的数据是否在处理数据时发生变化。如果是,那么你不想缓存。

您能否提供一些有关您正在编码的信息,以便我能够制定更准确的答案。

答案 2 :(得分:-2)

过早优化是所有邪恶的根源,我不知道ssis,但总是要及早考虑这个。

400万行可能是“大”或“小”,具体取决于数据类型和您正在使用的硬件配置。