我有一个Informatica映射,可以在同一表上插入和更新。目前,它可以在将近1700万张记录中进行近4个小时的更新时间。任何人都可以帮助我确定如何通过使用分区或其他可能的方式执行微调映射。源和目标来自相同的Oracle数据库。联接类型是细节外部联接。目标表没有任何DB级分区。 它只有4个索引,包括我们将其分配为进行更新的密钥列的主要键列。任何人都可以建议一些提高表现的技巧吗?

问题描述 投票:0回答:1
Source表2:27243705行

enter image description here

1700万张记录,什么是不同的钥匙。有几个要改变?

enter image description hereeption1:

performance informatica informatica-powercenter
1个回答
0
投票
如果目标分区不可能,请尝试源分区。在现有映射上创建10个会话。在每个会话中,添加一个条件mod = 0,mod = 1像Wise(sq overwrite)。看看您是否可以并行运行所有这些会话。

eption2:

请参阅减少更新数量。仅当非常必要时才更新。 10个插入比1个更新更好。处理映射中的SCD逻辑。并插入两个记录,而不是更新旧记录并插入新记录。更新是一个昂贵的操作。

eption3:

Maciejg早些时候建议。放下不必要的索引,并在邮政SQL中重新创建。

eption4:

创建10个临时表,使用mod函数插入和更新每个表。最后插入主桌。为此,我们需要10个目标和路由器。

运气好!!

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.