|
SAP ABAP程序效率优化 Perfomance Tune
http://m.blog.iyunv.com/blog/whiskey1122/12151851
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) 8. 对于in range table的搜索,超过一定数据量就会出现dump 9. ST10分析那些是hot table,为这些表分配固定的缓存,提高缓存命中率,减少数据库访问次数。对于命中率低的表,单独建立较小的缓存区,防止覆盖hot table的缓存。DB02 分析哪些表的缓存效率好,哪些表的缓存效率低 10. 策略:不必为小概率的错误牺牲大量数据处理的效率。批量保存时,采用异步保存可以大大提高效率。可以通过事后纠错来减少数据不一致的情况。
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. |
|
|