sap abap代码的速率优化技巧和禁忌

1.使用正确的表。SAP有标准的索引表或者VIEW。参见sap notes 185530/191492/187906   LIPS 使用VGBEL不如先用VBFA表 

2.使用正确的索引。好的索引非常好。不好的索引可能索引比表大,也有的索引让当前程序变快,其它的程序却变慢了。   新建索引转产以前都需要分析索引是否建的有效 

3.多次存取数据库,不如一次存取批量的数据。尽量减少访问数据库的次数 

4. LOOP里面不要写select查询 

5. LOOP里面嵌套loop的时候,尽量小数量的在外,打的在内,做到外小内大 

6. 对于MSEG,MKPF,LIPS等表,尽量少用inner join。根据有利的筛选字段过滤较小的数据集以后,在内表处理 

7. 多用for all entries,先做三步check:drive table是否为空;排序;去重(delete duplicate records) 

https://blog.csdn.net/qq_16116183/article/details/81073842

8. 对于in range table的搜索,超过一定数据量就会出现dump 

9. ST10分析那些是hot table,为这些表分配固定的缓存,提高缓存命中率,减少数据库访问次数。对于命中率低的表,单独建立较小的缓存区,防止覆盖hot table的缓存。DB02 分析哪些表的缓存效率好,哪些表的缓存效率低 

10. 策略:不必为小概率的错误牺牲大量数据处理的效率。批量保存时,采用异步保存可以大大提高效率。可以通过事后纠错来减少数据不一致的情况。

11.read table 运用之前要把取到的内表进行排序,才可以运用二分法

ST05 - Trace requests

SE30 - Runtime analysis

SE38 -> Environment -> Perfomance examples

SE30 - ABAP runtime analysis

ST02 - Tune Summary.

ST03 - Workload Analysis (Tuning of buffers,.

ST04 - Database Performance Analysis.

ST05 - Performance Analysis (SQL Trace, etc).

ST06 - Operating System monitor.

ST07 - Application Monitor.

ST14 - Application Analysis.

猜你喜欢

转载自blog.csdn.net/qq_16116183/article/details/81140014
今日推荐