删除自定义表记录而没有性能问题

2020-08-19 20:43发布

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

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


嗨,

在我的自定义表中有超过9亿条记录。需要删除记录而不会出现性能问题。

我试图根据日期和时间从中读取记录。 而且我们尝试删除它,但是它会用于内存转储。

 DELETEFROM(表名)WHEREzone ='X'。

请问为此提供最佳解决方案。

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

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


嗨,

在我的自定义表中有超过9亿条记录。需要删除记录而不会出现性能问题。

我试图根据日期和时间从中读取记录。 而且我们尝试删除它,但是它会用于内存转储。

 DELETEFROM(表名)WHEREzone ='X'。

请问为此提供最佳解决方案。

付费偷看设置
发送
8条回答
天桥码农
1楼 · 2020-08-19 21:36.采纳回答

您可以删除某些程序包,例如

 DO。
   选择 *
          FROM(表名)
          WHERE区域= @abap_true
          到表@data(删除)
          最多10000行。
   如果sy-subrc <> 0。
    出口。  "做
   万一。
   从TABLE @deletes中删除(表名)。
   提交工作。
 ENDDO。

,或者通过751版本,您可以使用类似这样的东西:

 DO。
   从(表名)的WHERE区域= @abap_true删除到10000行。
   如果sy-subrc <> 0。
    出口。  "做
   万一。
   提交工作。
 ENDDO。
  

https://help.sap。 com/doc/abapdocu_751_index_htm/7.51/zh-CN/abapdelete_where.htm

注意

Domi

Violet凡
2楼-- · 2020-08-19 21:30

。在前台,超时会转储。所以我们将其安排在后台模式下,但在后台模式下也会进行内存转储。

每天在自定义表中有3千万条记录。

一周热门 更多>