具有完全相同会话属性的 2 个映射表现完全不同,逻辑略有变化
2 mappings with exactly same session attributes behave completely different with slight change in logic
我是一名信息开发人员。
我在 informatica 中有一个映射如下:
Original Mapping :
AS400(DB2SQ)->EXP->RTR->AGG1->MPLT->TGT1(SQL Server) Pipeline 1.
| |->AGG2->TGT2(SQL Server)
| |
| |->TGT3(SQL Server)
->AGG3->EXP->TGT4(FlatFile) Pipeline 2.
大量记录正在通过管道 1。我被要求优化流程。以下是我的建议。
- 在流水线1中,移除AGG1和AGG2,并将聚合逻辑推送到数据库,这是我的建议,因为流程是增量的,增量记录被加载到临时table,所以期待性能更好。
- 删除目标数据 TGT3,因为它不是必需的。
这是我的优化映射现在的样子:
Optimized Mapping(What i thought) :
AS400(DB2SQ)->EXP->RTR->MPLT->TGT1(SQL Server) Pipeline 1.
| |->TGT2(SQL Server)
|
->AGG3->EXP->TGT4(FlatFile) Pipeline 2.
只是为了研究源性能优化,我将所有目标的会话属性替换为写入文件。我想检查一下我是否可以优化我的源代码。
但令我惊讶的是,当我执行两个会话(在单独的工作流中,一个接一个地执行)时,我发现优化会话的 SQ 吞吐量比原始会话慢得多。
优化解决方案中的所有内容都完全相同,因为我复制了原始 mapping/session,然后删除了 2 个聚合器和一个目标。
请注意:我正在开发的环境启用了版本控制,这有什么问题吗?
我试图交叉检查这个倍数,但找不到答案。
在details.And中通过session登录可以更好的识别也可以运行在source dB中查询并查看时间,taking.you也可以通过使用下推优化(即源端下推优化)来调整源端的性能。但在此之前,请检查您的源 dB 是否一切正常并且不会花费太多时间。您也可以修改优化查询并查看性能。
如果仍然无法解决问题,那么您可以在 sq 中寻找会话分区并检查性能。
我是一名信息开发人员。 我在 informatica 中有一个映射如下:
Original Mapping :
AS400(DB2SQ)->EXP->RTR->AGG1->MPLT->TGT1(SQL Server) Pipeline 1.
| |->AGG2->TGT2(SQL Server)
| |
| |->TGT3(SQL Server)
->AGG3->EXP->TGT4(FlatFile) Pipeline 2.
大量记录正在通过管道 1。我被要求优化流程。以下是我的建议。
- 在流水线1中,移除AGG1和AGG2,并将聚合逻辑推送到数据库,这是我的建议,因为流程是增量的,增量记录被加载到临时table,所以期待性能更好。
- 删除目标数据 TGT3,因为它不是必需的。
这是我的优化映射现在的样子:
Optimized Mapping(What i thought) :
AS400(DB2SQ)->EXP->RTR->MPLT->TGT1(SQL Server) Pipeline 1.
| |->TGT2(SQL Server)
|
->AGG3->EXP->TGT4(FlatFile) Pipeline 2.
只是为了研究源性能优化,我将所有目标的会话属性替换为写入文件。我想检查一下我是否可以优化我的源代码。
但令我惊讶的是,当我执行两个会话(在单独的工作流中,一个接一个地执行)时,我发现优化会话的 SQ 吞吐量比原始会话慢得多。
优化解决方案中的所有内容都完全相同,因为我复制了原始 mapping/session,然后删除了 2 个聚合器和一个目标。
请注意:我正在开发的环境启用了版本控制,这有什么问题吗?
我试图交叉检查这个倍数,但找不到答案。
在details.And中通过session登录可以更好的识别也可以运行在source dB中查询并查看时间,taking.you也可以通过使用下推优化(即源端下推优化)来调整源端的性能。但在此之前,请检查您的源 dB 是否一切正常并且不会花费太多时间。您也可以修改优化查询并查看性能。
如果仍然无法解决问题,那么您可以在 sq 中寻找会话分区并检查性能。