新手求救:ABAP中编辑select语句导致系统死机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手求救:ABAP中编辑select语句导致系统死机相关的知识,希望对你有一定的参考价值。

今天写了一个REPORT程序,在修改一个open sql语句后,保存程序时,系统内存使用突然加速上升最后死机,想请教各位大虾死机原因。从任务管理器里看到系统内存由400M上升到1.5G,大概以每秒10M的速度上升语句如下SELECTRACCT SUM( HSLVT ) AS HSLVT SUM( HSL01 ) AS HSL01 SUM( HSL02 ) AS HSL02 SUM( HSL03 ) AS HSL03 SUM( HSL04 ) AS HSL04 SUM( HSL05 ) AS HSL05 SUM( HSL06 ) AS HSL06 SUM( HSL07 ) AS HSL07 SUM( HSL08 ) AS HSL08 SUM( HSL09 ) AS HSL09 SUM( HSL10 ) AS HSL10 SUM( HSL11 ) AS HSL11 SUM( HSL12 ) AS HSL12 SUM( HSL13 ) AS HSL13 SUM( HSL14 ) AS HSL14 SUM( HSL15 ) AS HSL15 SUM( HSL16 ) AS HSL16 INTO TABLE IT_FAGLFLEXTFROM FAGLFLEXTWHERERYEAR = P_GJAHR1 AND RPMAX = LI_RPMAX AND RLDNR = CS_RLDNR AND RRCTY = CS_RRCTY AND RACCT IN S_RACCT AND BUKRS = P_BUKRS AND RBUSA IN W_IT_GSBER GROUP BY RACCT.※ FAGLFLEXT表数据量比较大

参考技术A 我知道的最好是不直接边查询边求和.先存到内表(内表要设置主键)然后COLLECT ITB INTO ST.这样性能应该会好点. 说的不对请见谅. 参考技术B 速度是快了,但会增加服务器内存使用量。性能不光是体现在运行速度上。 参考技术C 在做select时,尽量少用sum,你使用了这么多的sum,不慢才怪. 参考技术D 我们老师给我们的建议是 sum max 在DB里做 比 在ABAP里做要好,开发练习程序时也差不多可以验证这一点

以上是关于新手求救:ABAP中编辑select语句导致系统死机的主要内容,如果未能解决你的问题,请参考以下文章

在 ABAP 中使用一个或多个 IF 语句的 SELECT 查询

工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)

工作笔记之 SELECT IN ABAP

SAP ABAP select 语句为啥取不到数据(确认后台表中有数据)

工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(下)

关於在ABAP中的SELECT语句的一种用法的请教。