码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP怎样提高代码执行效率?

时间:2014-08-18 12:06:54      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   数据   for   ar   cti   代码   

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

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.

 

ABAP怎样提高代码执行效率?,布布扣,bubuko.com

ABAP怎样提高代码执行效率?

标签:使用   os   io   数据   for   ar   cti   代码   

原文地址:http://www.cnblogs.com/tb176/p/3919001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!