zoukankan      html  css  js  c++  java
  • ABAP怎样提高代码执行效率?

      程序的设计思路当然会影响程序的执行速度。程序如何设计与程序员的个人习惯以及业务逻辑有很大的关系。下面我要谈的是如何提高程序中相关代码的执行效率。供参考。

    1、杜绝使用 select ….endselect 语句。如果使用时 可以用 select …into cor.. table 替代 ;

    2、不要在 循环中 使用 select 语句,尽量使用 read table … BINARY SEARCH 替代;

    3、select 中 尽量要求字段最少,避免 select * ;

    4、select 中如果有用到 index 时,一定要使用 index

    5、在 select 中如果涉及计算,要尽量使用系统提供的关键字,不要再 select ….endselect 中进行;

    6、对于连接查询(inner join ),表最好不要多余三个;

    6、使用视图查询(FOR ALL ENTRIES IN方式或其它方式)替代嵌套查询;

    7、当需要按照表中的数据更新该表中的数据时,不需要使用 select,可以直接更新。 eg: UPDATE SFLIGHT SET SEATSOCC = SEATSOCC - 1.

    8、杜绝使用循环中一次一次的做数据库表操作,尽量使用内表一次完成操作; eg : INSERT XXX FROM TABLE XXX.

    9、尽量使用 COLLECT;

    10、Using a hashed table 在循环中比使用 sort表效率要高;(建议使用)

    11、在使用PERFORM时,要TYPE 形式参数
    eg : FORM UP2 USING
    REPEAT TYPE I
    DIMID LIKE T006-DIMID
    ZAEHL LIKE T006-ZAEHL.

    ENDFORM.

    12、对于字段符号 尽量不要 TYPE ANY.

    13、如果条件多,要使用 CASE

    14、 PERFORM I OF FRM1 FRM2 FRM3. (当 I值不同时,调用的 FORM 不同)

    15、使用 concatenate 时尽量使用 C类型

    16、使用本地的method 要比使用PERFORM 快( call local methods no performance loss) eg: call method C1=>M1. perform F1.

    17、Calling methods of global classes is faster than calling function modules eg: call method CL_PERFORMANCE_TEST=>M1. call function ‘FUNCTION1′.

    18: 使用 loop 循环内表时,使用字段符号的处理速度比较快
    LOOP AT ITAB ASSIGNING .
    I = SY-TABIX MOD 2.
    IF I = 0.
    -FLAG = ‘X’.
    ENDIF.
    ENDLOOP.

  • 相关阅读:
    市面上的系统.
    linux /dev 常见特殊设备介绍与应用[loop,null,zero,full,random]
    Linux command 系统快捷键
    Qtcreator中常用快捷键总结
    开始新的博客征途
    css选择器顺序的小技巧
    推荐20个很有帮助的web前端开发教程
    炙手可热的前端资源大集合
    一款纯css实现的垂直时间线效果
    15款极具创造性的艺术创意
  • 原文地址:https://www.cnblogs.com/tb176/p/3919001.html
Copyright © 2011-2022 走看看