ABAP优化常用工具及优化技巧

来源:互联网 发布:stereonet软件百度云 编辑:程序博客网 时间:2024/06/10 10:38
一、常用ABAP T-code:
 
    SE30运行待检查的程序,查看各操作的百分比。
    SLIN进行扩展检查,根据SAP提供的反馈信息,优化代码。
    ST05
    SE11创建使用索引
    SE37
    SE38 环境下的程序名输入栏输入'DEMO*'后按F4,你可以查到SAP所有的DEMO示例程序,好好看看,你会学到很多ABAP功能的实现方法。在SE38环境下的程序名输入栏输入'BCALV*'后按F4,你可以查到很多ALV示例程序。
    SE93
    ABAPDOCU可以看到ABAP DOCUMENT及示例程序
 
 
使用Open SQL注意事项:
a、尽可能减少满足条件的数据条目数量。
      b、减少数据的传输量,以减少网络流量,有时宁愿一次多返回一些数据,也不要增加访问次数
      c、减少访问的数据库表量。
      d、减少查询难度,可以通过整理选择标准来实现。
      e、减少数据库负载。


二、常用的优化技巧有哪些。
SQL语句优化:
0.避免在循环语句中,使用SELECT语句,而是通过FOR ALL ENTRIES IN 语句抽取数据到内表中
1.inner join获取数据时,尽量不要用太多的表关联,特别是大表关联,关联顺序为:小表-大表,
2.查询结果应该只需要自己关系的字段,尽量少用select *
3.where 条件里面多用索引、主键,顺序也要遵循小表-大表
4.不要使用select end-select 语句,可以取出来后再处理
5.不要在循环语句中select,可以用for all entires in来替代
6.不要用<> ,这样会不使用索引,可以用> or < 来替代
7.不要用sort by进行排序,取出来后在内表中处理
内表处理优化:1.尽量少用多重循环
              2.read时,可以先sort 然后用read  binary search,会快很多
              3.对内表做批量修改时,可以用modify transporting where 语句进行替换,而不用循环修改
8. 避免在循环语句中,使用SELECT语句,而是通过FOR ALL ENTRIES IN 语句抽取数据。。
9.内表求和,能够在sql层次上实现就用sql实现,不能实现的,在内表循环中用at end of之类的进行求和,collect直接求和在数据量很大时,效率会比较低。
10.CPU的负载可以通过优化程序来改善,在程序中尽量使用诸如SUM(SQL语句)或者COLLECT(ABAP语句)。
11. 用append lines of *** to ****,代替 loop at ***,append *** to ****,endloop.
影响 ABAP性能的因素:
1. 硬件性能:数据库服务器、应用服务器的处理能力,客户端电脑的性能等都会影响ABAP程序的性能。
2. 网络带宽:ABAP需要在在服务器之间、服务器与客户端之间传递数据,网络吞吐量的高低直接影响程序的性能。
3. 服务器不合理的配置:SAP 服务器不合理的配置,特别是内存的配置,影响 ABAP的性能。
4. 数据库表不合理的索引:数据库表索引能够提高查询数据的速度,但同时也会增加服务器选择索引的成本和更新索引的开销。因此,没有索引和滥建索引都会影响 ABAP的性能。
5.处理的数据量:如果随着数据量的增加,程序的执行时间呈对数方式提升,则说明程序的性能较好,如果呈指数方式上升,则程序性能很差。

1 0