使用ABAP运行时间分析工具SE30优化程序
ABAP运行时间分析工具使用SE30方法
使用ABAP运行时间分析工具的优化思想是二八原则,即优化目标放在最消耗效率的地方进行优化,进而获得最大的优化效果
示例:ZCN41N优化
优化办法:
1、项目定义不允许输入星号。
2、先权限检查
3、物料描述:放后面,当取出物料需求后,在进行抽取物料描述。
4、通过获取到的权限值:项目负责人(vener),进行过滤取项目,及后续WBS
5、通过获取到的权限值:MRP控制者(vener),进行过滤取网络
优化结果:
生产机优化前:15.50分
优化后:10.19分
(一) 操作
事物代码SE30 输入事物代码/程序/模块,点击Execute,进入程序界面,运行完成后退出,回到SE30界面,点击Evaluate显示分析报表,双击行项目可以看具体的明细。
(二) 分析方法
- 一看概述 ABAP/数据库运行时间比例
不同时期数据量不一样,运行时间不一样,所以单从ABAP/数据库各自运行的时间,对比优化后与优化前的差别是不可行的。所以,需要从它们的处理时间占比的角度来分析优化的结果。比如下面示例中,优化前ABAP占比17.9%,数据库占比82%,表明数据库亟需优化,优化数据库更能有效提升运行效率。所以示例中着重优化了数据库处理效率。结果如下:
优化前
数据处理时间占比82%
优化后
数据处理时间占比降低至63%
表明优化后数据库处理时间占比下降,总效率得到了提升 - 二看清单 行项目耗时
在优化前,可以分析占比靠前的函数、数据库语句,优先优化靠前的项目,能够更有效的提升运行效率。 优化完成后,检查原先耗时较长的项是否还占比较大,可以得知优化是否有效。下面示例中优化前RESB处理时间排名靠前,经过优化后第一页已不再有RESB处理语句,表明优化有效果。
优化前
发现读取RESB处理时耗较长
优化后
RESB表读取耗时已不在前列,表明优化有效
优化后RESB数据库耗时已不在排名靠前
(三) 相关事物码
SE30 ST12 ST05 DB02
(四) 附:SQL语句优化方法(引用部分)
- 用where语句
不推荐
Select * from zflight. Check : zflight-airln = ‘LF’ and
zflight-fligh = ‘BW222’. Endselect.</