代码中的性能问题

2020-09-10 15:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 下面的代码花费大量时间...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

下面的代码花费大量时间。 我如何提高此代码的性能-

选择venum作为venum,
  exidv AS exivd
  插入表@DATA(it_vekp)
  从vekp
  对于@it_vepo中的所有条目
  哪里的毒液= @ it_vepo-unvel。


  循环到it_vekp INTO DATA(wa_vekp)。
   在venum = wa_vekp-venum处更新vekp SET erlkz ='X'。
    如果sy-subrc = 0。
    提交工作。
  万一。
 ENDLOOP。
6条回答
小熊yu生菜
2020-09-10 16:14

巴杜,

尽管有关于您问题的所有评论,但顺便说一句,它们是完全正确的,如果仅从性能方面考虑,在循环内使用update并不是一个好主意(甚至不提提交!)。 尝试像下面那样使用修改,并检查性能是否提高。

选择*
   到表@data(it_vekp)
   来自vekp
   对于@it_vepo中的所有条目
  venum = @ it_vepo-unvel。

 数据ls_vekp类似于it_vekp的行。
 ls_vekp-erlkz ='X'。

 从ls_vekp传输erlkz的地方修改it_vekp,其中erlkz是初始的。
 从表it_vekp修改vekp。
 

此致

拉斐尔

一周热门 更多>