首页 文章

SSIS中增量加载的最佳方法是什么?

提问于
浏览
0

我正在尝试从Source表创建一个增量加载到 mrr/src 表,在我的Source表中我有 created date和' modified '日期 .

添加新记录:

有两种方法可以做增量,我想知道哪种方式更好:

  • 在源表和mrr / src表之间合并连接任务(左连接)并获取mrr / src表中不存在的所有记录 .

  • 保存上次上传日期并获取所有新记录,其中“创建”日期高于上次上载日期 .

我个人选择第二种选择,但在性能方面,第一种选择更可取吗?

更新现有记录:

同样有两种选择:

  • 使用条件拆分任务并在源表和mrr / src表中的字段之间进行所有比较 .

  • 在源表中使用“已修改”日期并将其与上次上载日期进行比较,以便了解自上次检查源表以来哪些记录已更新 .

有没有首选方案,我错过了一个选项吗?

1 回答

  • 1

    添加新记录:我更喜欢#2(假设创建的日期总是高于最后一个插入日期) . 对于源表将大大增长的那些情况,选项#2也更好 . 与选项#1相反,它将执行快速公开时间,表格越大,比较所有数据所需的时间越多 .

    更新现有记录:选项#2但是再次假设修改日期将在字段更改时始终更改 . 提示更快的更新性能 . 而不是动态更新记录 . 只需将记录保存在临时物理表中,并使用SSIS包中的另一个步骤发出SQL脚本,以使用该临时表作为更新主要最终表的参考 . 这比在数据流上使用SQL任务更快 . 此任务将为每行发出更新语句 .

相关问题