【发布时间】:2016-03-24 07:24:37
【问题描述】:
我已将 Truncate table 更改为 Insert and Update 逻辑一次查找,查找缓存行数超过 500 万。更改为 Incremental load with lookup through put 现在从 2400 减少到 2 (Trunc Load)
【问题讨论】:
标签: lookup informatica
我已将 Truncate table 更改为 Insert and Update 逻辑一次查找,查找缓存行数超过 500 万。更改为 Incremental load with lookup through put 现在从 2400 减少到 2 (Trunc Load)
【问题讨论】:
标签: lookup informatica
您查找的数据非常大。看看您是否可以限制查找中的记录数。 如果不是,假设您的源数据库和目标数据库是异构的,而不是查找将其用作源,然后使用连接器将其作为详细表加入。这应该会大大提高性能。
【讨论】:
会话启动缓慢,因为它正在为您的查找构建巨大的缓存以开始加载数据。确保您只是在查找中提取比较所需的列以及作为输出所需的任何内容,例如 PK 列等。使用查找覆盖查询来调整性能,在这里您也可以过滤数据以提取只有需要的,无论是列还是行。如果您的查找数据没有改变,请尝试使用持久缓存。
如果您可以选择在 sql 覆盖本身中加入数据,请尝试消除查找本身。这样,您会将查询推送到数据库,而不是 informatica 为您完成工作。
【讨论】:
您可以检查以下几点以提高性能-
查找调整 - 通过将查找表与源表连接(如果它们在同一个数据库中)来减少查找中的行数,或者应用一些过滤条件。确保您在加入时使用 PK/FK/Indexed 列。同时从查找中删除所有不需要的列。
目标调整 - 确保在写入目标时,从目标中删除所有索引并在目标加载完成后创建索引。然后确保 Informatica 目标中提到的关键列实际上在 DB 级别被 inexed。
源调整 - 由于您在这里没有太大变化,所以我不希望有很多改进的机会。但请检查您的 SQL 是否使用了一些索引等。
【讨论】: