
2008-7-2 15:54
hn-yb
新手求救:ABAP中编辑select语句导致系统死机
今天写了一个REPORT程序,在修改一个open sql语句后,保存程序时,系统内存使用突然加速上升最后死机,想请教各位大虾死机原因。
从任务管理器里看到系统内存由400M上升到1.5G,大概以每秒10M的速度上升
语句如下
SELECT
RACCT
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_FAGLFLEXT
FROM FAGLFLEXT
WHERE RYEAR = 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表数据量比较大
2008-7-2 16:40
justforregister
你真牛逼
2008-7-2 17:20
dreamgift
哈哈哈哈 看的我很想笑.
2008-7-2 17:26
hn-yb
补充一下
死机一段时间之后,SAP系统弹出内存不足的对话框,并且出现运行时错误的系统信息,
想抓个图但是内存不足没有成功,大概看了一下错误是“raise_exception",
然后再看任务管理器,SAP程序使用内存大概只有100M,所有的任务占用内存合计大概400M
但是显示内存使用情况是1.5G,其余的1个G左右的内存不知道在哪里,关闭SAPGUI也一样
是不是在ABAP 编辑器里面,那些OPEN SQL语句会连接数据库,不是很懂,希望有大虾给解释一下原因
2008-7-2 17:31
tieshou444
-,-
2008-7-2 17:34
hn-yb
to 2楼 和 3楼
本人学习ABAP两个月,刚入门,这个语句如果写的有错误或者问题的话 还请指教
2008-7-2 17:59
dreamgift
我知道的最好是不直接边查询边求和.
先存到内表(内表要设置主键)
然后 COLLECT ITB INTO ST.
这样性能应该会好点. 说的不对请见谅.
2008-7-2 18:19
hn-yb
我们老师给我们的建议是 sum max 在DB里做 比 在ABAP里做要好,开发练习程序时也差不多可以验证这一点
2008-7-3 15:19
caisandong
回复 #1 hn-yb 的帖子
在做select时,尽量少用sum,你使用了这么多的sum,不慢才怪.
2008-7-3 15:27
caisandong
回复 #1 hn-yb 的帖子
在做select时,尽量少用sum,你使用了这么多的sum,不慢才怪.
2008-7-3 16:10
ryq0000
[quote]原帖由 [i]dreamgift[/i] 于 2008-7-2 17:59 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10833239&ptid=1015477][img]http://www.itpub.net/images/common/back.gif[/img][/url]
我知道的最好是不直接边查询边求和.
先存到内表(内表要设置主键)
然后 COLLECT ITB INTO ST.
这样性能应该会好点. 说的不对请见谅. [/quote]
应该是这样用的.
2008-7-8 11:27
hikarulea
[quote]原帖由 [i]hn-yb[/i] 于 2008-7-2 18:19 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10833479&ptid=1015477][img]http://www.itpub.net/images/common/back.gif[/img][/url]
我们老师给我们的建议是 sum max 在DB里做 比 在ABAP里做要好,开发练习程序时也差不多可以验证这一点 [/quote]
速度是快了,但会增加服务器内存使用量。
性能不光是体现在运行速度上。
2008-7-8 11:53
xiebinren
[quote]原帖由 [i]hn-yb[/i] 于 2008-7-2 18:19 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10833479&ptid=1015477][img]http://www.itpub.net/images/common/back.gif[/img][/url]
我们老师给我们的建议是 sum max 在DB里做 比 在ABAP里做要好,开发练习程序时也差不多可以验证这一点 [/quote]
把服务器给拖死了
2008-7-8 16:52
ryq0000
楼上有人给出方法了.
2008-7-9 09:11
VagrantLee
[quote]原帖由 [i]caisandong[/i] 于 2008-7-3 15:27 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10842962&ptid=1015477][img]http://www.itpub.net/images/common/back.gif[/img][/url]
在做select时,尽量少用sum,你使用了这么多的sum,不慢才怪. [/quote]
同意@
页:
[1]

Powered by ITPUB论坛