ABAP程序性能优化.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 一. 前言 二. 程序性能优化的重点 三. 降低CPU负载的技巧 四. 降低DB负载的技巧 五. 程序内存使用优化的技巧 六. 使用工具检查程序性能 前言 程序的效率是每个程序员都应该重视的,无论您是采用哪一种语言进行开发.有时候程序越短,并不一定越快,有时候程序代码很多,但不一定会很慢. 程序性能是一把双刃剑, 获得时间效率的同时, 牺牲的是空间的开销和代码的可读性. 大家需要根据实际情况进行优化和权衡得失. 下面提供一些建议以提高你的程序运行速度和降低系统荷载。 ? 减低CPU负载 使用WHERE条件减少循环次数. 减少循环次数可以减少CPU操作次数,减少操作时间 LOOP AT itab… WHERE … 降低CPU负载 尽量避免使用MOVE-CORRESPONDING 和 INTO CORRESPONDING FIELDS OF. CORRESPONDING语句在系统内部存在隐式操作: 1, 检查元素名称匹配; 2, 检查元素类型匹配; 3,元素类型转换; 降低CPU负载 使用SORTED TABLE 和 HASHED TABLE表类型. 降低CPU负载 SORTED TABLE定义: 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。 TYPES: BEGIN OF t_tab, vbeln LIKE vbap-vbeln, posnr LIKE vbap-posnr, END OF t_tab. DATA: sort_tab TYPE SORTED TABLE OF t_tab WITH NON-UNIQUE KEY vbeln. HASHED TABLE定义: 哈希表(也叫散列表)是根据关键字值直接进行访问的数据结构,也就是说,它通过把关键字值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。 DATA: hash_tab TYPE HASHED TABLE OF t_tab WITH UNIQUE KEY vbeln. 注意: 哈希表类型只能使用唯一键约束, 而且当主键值不唯一时效率不能体现。 STANDARD TABLE定义: DATA: stad_tab TYPE STANDARD TABLE OF t_tab. 降低CPU负载 使用 BINARY?SEARCH 二分查找算法. 一般线性查找的缺点就是耗时, 而二分查找比线性查找更高效. 降低CPU负载 使用较高效的 DELETE ADJACENT DUPLICATES FROM 删除内表邻近重复记录. 降低CPU负载 使用较高效的COLLECT语句对记录进行聚集加总. 降低数据库负载 避免使用SELECT … ENDSELECT语句. SELECT ENDSELECT语句其实是一个循环体, 为了减少循环次数, 建议使用一次性TABLE赋值赋值. 降低数据库负载 避免使用SELECT *. 降低数据库负载 使用FOR ALL ENTRIES IN 语句联接数据表和内表. 降低数据库负载 使用FOR ALL ENTRIES IN 语句联接数据表和内表. 降低数据库负载 使用FOR ALL ENTRIES IN 语句联接数据表和内表. 使用的时机: 1, 簇表是禁止JOIN的表类型, 当需要联接 簇表查询数据时; 2, JOIN超过3个表会出现性能问题, 当使用 JOIN联接的表超过3个时; 降低数据库负载 通过创建视图高速缓存提高查询效率,在频繁读取的时候突显性能. 降低数据库负载 使用二级索引提高查询效率. 案例: 提高财务凭证段表BSEG查询效率。 降低数据库负载 使用二级索引提高查询效率. 案例: 提高财务凭证段表BSEG查询效率。 降低数据库负载 使用二级索引提高查询效率. 案例: 提高财务凭证段表BSEG查询效率。 SELECT bukrs belnr gjahr INTO TABLE itab1 FROM bkpf WHERE bukrs IN p_bukrs AND gjahr IN p_gjahr. SELECT …… INTO TABLE itab2 FROM bseg FOR ALL ENTRIES IN itab1

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档