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.

  • 相关阅读:
    滚动条美化插件 nicescroll
    百度地图api
    Echarts的重点
    3月20号课堂随笔
    循环for语句
    有关一些CSS的基本内容
    HTML基本标签和一些注释的问题
    2018年3月17号的随堂笔记
    03.15补习
    for 的相关用法
  • 原文地址:https://www.cnblogs.com/tb176/p/3919001.html
Copyright © 2011-2022 走看看