点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我们需要更新许多Z表(其中一些非常大),并且会感谢任何性能提示(除了显而易见的"创建适当的索引")。
我们用伪代码表示的问题如下:
LOOP直到eof。 从ZDB001中选择单个记录k1,f1,f2,f3。 NF1 = F1 * X。 NF2 = F2 * X。 NF3 = F3 * X。 更新ZDB001设置F1 = NF1,F2 = NF2,F3 = NF3其中key = zdb001〜k1。 ENDLOOP。
换句话说,循环遍历表,根据一个简单的公式更新一些(货币)列。 如我所见,瓶颈当然是在SELECT/UPDATE访问时间中。 例如,如果我正在使用Db2,我将创建一些SQL函数并运行一个庞大的UPDATE语句(在我们当前使用的SAP版本中,AFAIK无法做到这一点)。
有什么想法吗?
预先感谢
路易斯
我不知道DB/2的dbsl是否像Oracle一样针对进行批量SQL更新进行了优化,但是值得尝试创建仅包含关键字段+您要更新的字段的可更新DDIC视图,以及 做一个:
从表itab修改updatableview。
当然,您不会为需要批量更新的每组字段创建一个可更新的视图,因此只有在性能测试表明有明显好处的情况下才应执行此操作。
我认为这是可以接受的折衷方案。 在单次选择/更新(效率很低)和预加载巨大的Itab之间的一半。
再次感谢
路易斯
一周热门 更多>