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. 策略:不必为小概率的错误牺牲大量数据处理的效率。批量保存时,采用异步保存可以大大提高效率。可以通过事后纠错来减少数据不一致的情况。
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.
领取专属 10元无门槛券
私享最新 技术干货