本文共 680 字,大约阅读时间需要 2 分钟。
我也分享了许多篇性能优化的帖子,主要集中在sql、语法及合理的索引方面。我们在表上加索引确实能大幅提升性能,但是索引的数量、所需字段及利用率都是我们在新建索引时需要考虑的,对于大多数abaper而言,也就是稀里糊涂的新建了索引。这里我不对新建索引进行展开讲解,建议没有深厚功底的小粉不要乱建索引。
其实在sql优化上还有一个大招,只是他需要我们实际项目去积累,就是找到相应的替代表,而替代表中最好的莫过于索引表了。SAP在标准程序中也新建了一些索引表来提升标准程序的性能,下面我们来看一个销售订单取数优化的例子。
场景:根据合作伙伴、物料或者交货到期时间来获取销售订单号
分析:合作伙伴VBPA,物料VBAP,交货到期时间在交货单上,很明显我们这样也是可以取到SO,但是性能就很差了
优化方法:很幸运SAP为这些条件新建了索引表
VAKPA 客户索引表 VAPMA 物料索引表 VEPVG 交货到期索引表 附销售订单相关表: VBAK 订单头 VBAP 订单行 VBUK 订单头状态 VBUP 订单行状态 VBBE 占用库存(订单做了交货单后会转到交货单上,发货过账后消失) VBPA 合作伙伴 VBEP 计划行数据 VBUV 如果订单项不完整会把不完整数据放到这个表 VBKD 订单的采购订单号码等 KONV 价格 JSTO 状态对象信息 JEST 单独对象状态 JCDS 为系统/用户状态更改文档(表 JEST) S066 未清订单: 信贷管理 S009 CAS: 最后的凭证 S014 CAS 凭证信息 J开头的三个表是状态表,S开头的三个是信息结构表。 转载地址:http://giqaf.baihongyu.com/