ABAP/4的优化
来源:互联网 发布:windows内核编程 编辑:程序博客网 时间:2024/05/13 08:28
1.首先是找出有问题的程序:
一般查询程序执行时间只要超过100秒(这是观察SAP标准程序的效率值)以上这些程序就是要Tune的可以透过T-CODE:SM50 或 T-CODE:SM37 去找资料,分析在线或是背景执行有哪些ABAP 很慢
2.程序效能分析
T-CODE:SE30 程序执行时间分析,找出程序慢的部份,执行完程序可以区分三个阶段的执行时间:
ABAP、Database、System,这三个部份对效能的优先级为Database -> System -> ABAP
要依序排除程序这些部份的问题。一般建议上线前Basis 一定要先审核这个数据是OK才让该ABAP
上线,否则一上线会拖垮整个主机效能反而更麻烦。
3.Database 效能分析
一般来说自行开发的程序大部份对数据库的有效率存去都会忽略,这部份可以透过检查索引、调整程
式语法改善,在SE30分析程序可以看出哪些Table花费的成本最高,针对程序中这些SQL语法进行检查:
首先要检查索引,程序中的Where字段在Table index是有满足,如果没有Index,就要评估该报表
执行频率,如果很高就要建一个索引(T-CODE:SE11)给它用,否则就应排背景于非上班时间执行。
可以透过 ST05 去追踪SQL Performance,如此可以看到程序中SQL使用的,有时Table明明有可以
符合 SQL 使用的Index可是程序还是不依该Index Query Data,这是系统判断错误,这时可以使用
数据库特有的语法指定Index执行。
Oracle 指定Index 的范例语法为:
SELECT carrid connid cityfrom
FROM spfli INTO (xcarrid, xconnid, xcityfrom)
WHERE carrid = 'LH ' AND cityfrom = 'FRANKFURT'
%_HINTS ORACLE 'INDEX("SPFLI" "SPFLI~001")'.
^^^^^ ^^^^^^^^^
Table Index ID
4.系统资源的控制
当DB的问题处理完成后,就要注意程序对系统资源使用的控制了,ABAP中不能无限制的使用系统内存,有些大量耗用内存的程序是可以透过程序技巧调整的,还有就是用完了要清。
5.用OCCURS NUM_RECS声明内表,NUM_RECS参数是你估计(或希望)使用到的数据条数。如果使用到的记录条数超出NUM_RECS参数的限制,数据将被存放在硬盘上的交换空间(不是内存)。
- ABAP/4的优化
- ABAP程序的优化
- abap运行时间的优化
- ABAP 循环嵌套的优化
- abap运行时间的优化
- ABAP-DOI技术的优化
- ABAP--两个提高ABAP代码效率的优化方法
- ABAP程序的性能优化啊.
- 一些优化ABAP程序性能的方法
- ABAP:SAP报表性能的优化
- ABAP:SAP报表性能的优化
- ABAP 优化LOOP循环的一点点建议
- ABAP:SAP报表性能的优化
- 【程序优化】ABAP程序优化的一些总结
- 如何优化ABAP性能
- abap程序优化
- 如何优化ABAP性能
- ABAP性能优化1
- left join 和 left outer join 的区别 ,full outer join
- 【c++】回调函数
- JAVA 线程 join
- java两种多线程区别
- Scrum 学习笔记
- ABAP/4的优化
- Linux--根文件系统的挂载过程分析
- windows和linux下获取当前程序路径以及cpu数
- 浅谈float left和float right
- PCWorld评10大科技产品:IBM超级计算机上榜
- 常用 flash CPU占用和内存问题优化
- [转]通俗易懂Tomcat中Servlet的生命周期,讲的非常详细
- hdu 1008 hdoj 1008
- 深入理解Android工程的编译过程(图文)