【发布时间】:2019-11-06 14:12:14
【问题描述】:
使用 SSIS,我将分阶段提取加载到其主数据库中。该过程的一部分是使用 LOOKUP 来获取字符串值的 ID,如果它不存在,则将其插入引用表(使用 OLE DB COMMAND)并通过后续查找返回该 ID。
LOOKUP 表示即使插入后前 50 个值也不匹配。 有没有办法解决这个问题? 或者,我应该尝试其他方法吗?
一些研究/尝试...
最初,没有返回匹配项。我必须将所有查找更改为“无缓存”,以便重新加载引用表(它们非常小,所以我怀疑我会遇到很大的性能问题)。
我见过的另一种方法是多播到不同的查找中(基于我正在查找的列),然后在我成功插入/查找它们后将它们合并在一起。但根据我的阅读,这种方法存在严重的性能问题。
我希望查找匹配或不匹配。如果不匹配,插入新值;然后,再次查找 ID 的值(如果不匹配,则失败)。合并原始匹配和原始不匹配以进行下一次查找。
【问题讨论】:
-
您的模式会多次插入(或尝试插入)相同的“不匹配”
标签: sql-server ssis lookup