ABAP程序开发完成之后,必须保证程序运行的效率。如数据库的查询、内表中循环的使用次数,势必都会影响整个程序的执行速度。SAP提供了程序性能分析工具,相关的事务代码为SE30,通过ABAP程序运行时间的分析来协助用户评估程序的执行效率,使用该工具的步骤具体如下。

SE30需要通过执行某程序或者事务代码来计算其数据库访问的时间、ABAP程序的执行时间及其标准系统功能执行所占的时间。若某个程序执行时间太长,可以通过该工具来测试,计算该程序执行中的资源消耗主要是在数据库上面还是在ABAP代码上面。SE30可以直接执行事务代码或者执行程序名称来进行分析,初始页面如下图所示:

下面则以一个自定义的事务代码为例来分析运行效率,本例中在事务代码选项对应的输入框中输入事务代码ZSD026,然后单击屏幕上的执行按钮,所看到的将会是如下的界面:

单击所执行事务代码的退出按钮,返回SE30的维护界面,可以看到其“Performance Data File”(性能数据文件)页面中显示了相关程序的执行信息,运行分析时,会将分析的结果写到一个文件中,如下图所示:

单击该页面中的“评估”按钮,将会显示分析结果图例,如下图所示:

从上图可以看到程序运行共耗费49313723微秒,其中ABAP程序占用了1.5%,而数据库查询占用了98.4%,所以在数据库查询这块有待改进。

在“运行时间分析评估:概览”页面中,单击工具栏中的“命中列表”按钮来查看命中的结果,可以通过该结果分析程序执行的详细状态。而对于类似数据库查询报表,优化的目标首要是减少数据的访问及负荷。如果数据库占用比率较高,可能要考虑需要优化SQL或表,ABAP占用过大时候,可能要检查内表循环或者数据处理上是否存在可优化空间。命中清单结果如下图所示:

命中清单上面显示了具体的程序名称和相关方法,以及该方法在程序执行中所占用的资源及比率。将光标移动到命中清单结果中的某一行,然后执行主菜单中的“转到”——“显示源代码”命令,可以看到该行程序对应的ABAP源代码,这样更有利于进行程序分析,如下图所示:

SE30的初始页面工具栏上面有一个按钮“提示&技巧”,SAP建立了一些示例指导用户去进行相关程序和SQL代码的优化,如下图所示:

【ABAP】通过SE30来测试程序的执行效率相关推荐

  1. 一个C#和C++执行效率对比的简单实例

    这里用一个算法题进行比较. 原题是见http://acm.hdu.edu.cn/showproblem.php?pid=4090,登载在http://blog.csdn.net/woshi250hua ...

  2. 自己写的一个测试函数执行效率的单元(test on Delphi 7)

    运用了一点技巧来实现对函数进行效率测试 使用方法: uses   Profile; ....... function TForm1.Func1():string; begin     TFunctio ...

  3. python的执行效率没有c语言高,Python代码优化

    摘自https://www.cnblogs.com/duaimili/p/10275728.html 众所周知,程序的性能好坏影响着用户体验.所以性能是留住用户很重要的一环.Python 语言虽然能做 ...

  4. 优化javaScript代码,提高执行效率

    今天看完书,总结了一下可以如何优化 JavaScript . 1.合并js文件 为优化性能,可以把多个js文件(css文件也可以)合并成极少数大文件.跟十个5k的js文件相比,合并成一个50k的文件更 ...

  5. 提高python执行效率_关于提高python程序执行效率的思路和想法

    原博文 2016-06-09 22:25 − 相比编译型语言(C系列)python胜在简介的语法和优雅的动态编程体验,但是在执行效率上,python有解释性语言先天的劣势--执行效率较低,为了让编写出 ...

  6. 浅谈代码的执行效率(4):汇编优化

    终于谈到这个话题了,首先声明我不是汇编优化的高手,甚至于我知道的所有关于汇编优化的内容,仅仅来自于学校的课程.书本及当年做过的一些简单练习.换句话说,我了解的东西只能算是一些原则,甚至也有一些&quo ...

  7. 掌握这35 个小细节,助你有效提升 Java 代码的执行效率!

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者:萌小Q 来源:https://www.cnblogs.com/Qian123/p/60 ...

  8. 四、MySql七个查询命令中哪些命令执行效率过慢

    七个查询命令中哪些命令执行效率过慢: 1.group by:(最慢)   [原因]:group by 在执行是首先要将临时表中的数据进行排序,然后再进行分组 2.order by: [原因]:需要对s ...

  9. python那么慢为什么还有人用-Python执行效率慢,为什么还这么火?【黑马程序员】...

    稍微了解python的同学,都知道python比起java这类编译型语言来说执行效率比较低,可是为什么python依然这么火呢? Python是一门解释型的动态语言,由于语言的解释执行的过程和动态类型 ...

最新文章

  1. 【Linux】Linux简单操作之文件管理
  2. 她破解哈希函数算法:坚持10年做一件事一定能做成
  3. solr配置-Schema.xml
  4. 大规模分布式存储系统(文摘)
  5. javascript关于检测浏览器和操作系统的问题
  6. Vue使用axios提交表单数据
  7. mysql 报错注入输出多个字段_SQL注入浅析
  8. 天池NLP赛道top指南
  9. ubuntu安装ffmpeg_手把手教你利用ffmpeg制作一个好用灵活的图片、视频压缩工具(再不需要去别的网站和用别的软件啦)...
  10. 复杂网络分析 02 复杂网络分析中的基本概念学习笔记
  11. c语言第九章课后作业答案,C语言课后习题部分答案
  12. html5 ios 音乐加载失败,Cocos2d-JS HTML5的cc.audioEngine音乐音效在iOS设备上不响应静音键的问题...
  13. Learning the Model Update for Siamese Trackers 论文学习
  14. mysql配置文件中bind_bind配置语法详解 | 羽飞博客
  15. 数据分析指标缩写英文单词解释
  16. Chrom浏览器安装CRX插件
  17. What is event bubbling and capturing?
  18. 业务范围(business area)
  19. IDEA全局搜索快捷键方法
  20. Java删除StringBuilder最后一个逗号

热门文章

  1. 批量离线下载迅雷快传资源
  2. Reactive Extensions简介一
  3. 新入职一家公司如何梳理业务?
  4. 游戏让你额外多活10年#团队分享文字版
  5. 人生,能有多少个十年?| PMCAFF 十年故事
  6. 都是月饼惹的祸 124盒月饼太甜太温柔(结尾有彩蛋)
  7. 在Facebook做产品是一种什么样的体验?
  8. 如何避免开发一款失败的产品?
  9. 关于云计算最新趋势的讨论
  10. [读书笔记]《Head First Servlets JSP》2nd