【发布时间】:2016-07-03 09:51:01
【问题描述】:
我有两张表 Person & Ownership 有一对多的关系(每个人都有很多所有权)。主键是 GUID 类型的 person_id。我正在开发 SSIS 包以将数据从两个表加载到目标。在目标表中,我想添加代理键,以便将来我的 sql 连接使用代理键而不是 GUID(因为 GUID 很慢)。我做了以下任务
- 在目标表中,我创建了一个带有 bigint 类型的附加列 person_id_sk(身份列)的人员表。
- 向人员加载数据
- 类似地创建了 Ownership 表,其中包含一个额外的 bigint 列 person_id_sk
- 通过“查找转换”将数据加载给人员。
这个过程非常缓慢,因为两个表中都有数百万条记录,并且包需要在一周内运行两次。
这是在父子关系中插入代理键值的唯一方法吗?或者还有其他有效的方法。
问候,
【问题讨论】:
-
您还可以做的不是使用 Lookup,而是尝试使用 Merge。这可以加快您的总运行时间,因为它将同时开始加载两个表。
标签: ssis etl data-warehouse