1

我正在尝试找出最好的方法。

查看实时数据,我想将行插入到我的 DW 表中。不知道什么会更有效率。

  • 从目标表中删除所有行并插入整个视图。
  • 仅更新或插入新行。

删除行并插入整个视图需要 4 分钟。尝试查看更新和仅插入新的是否会使其更快。

现在我的实时数据库中有 350k 行,并且每周增加 2000 行。视图/表有 90 列,我不确定如何在 SSIS 中执行此操作。

  • 我应该在视图和目标表之间进行连接吗?
  • 我应该使用查找并插入新行吗?(这在需要更新的情况下有效吗?)

我在网上查看了几个示例,但不确定是否需要对所有列进行连接以检查更新的行。

4

1 回答 1

2

需要考虑的几件事 - 1. 是否需要维护历史记录?如果是,那么您不能截断并重新加载。

  1. 增长率:2000(行/周)* 52(周/年)= 104,000(行/年)因此,在 3 年内,它将(大约)翻倍。它确实 - 不 - 意味着它将开始需要 8 分钟。可能需要5-6分钟。使用插入/更新技术,即使每次运行节省 2 分钟,这很重要吗?如果不是,那么为什么要在流程中引入复杂性。

  2. 如果您需要对这两种方法进行定量比较,则需要编写代码并进行比较——我不知道有什么捷径可走。

  3. 如果您决定进行插入/更新,我建议您将所有 90 列的哈希值保留在新列中。在进行合并时,比较哈希,如果不同,更新所有 90 列。九十列是许多单独比较的方式。

如果在使用哈希比较插入/更新方面需要进一步帮助,请恢复。

于 2013-10-18T15:21:28.993 回答