前面三年只是有这个概念,能够执行的规则只有数条。
三天不写代码手生。最近听了张老师的课,觉得收获很大,笔记摘要:
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 analys