关于OpenSQL的优化:
1. 尽可能减少满足条件的数据条目数量
2. 减少数据的传输量,以减少网络流量,有时宁愿一次多返回一些数据,也不要增加访问次数
3. 减少访问的数据库表量
4. 减少查询难度,可以通过整理选择标准来实现
5. 减少数据库负载
优化技巧:
1. 避免在循环语句中,使用select语句,而是通过FOR ALL ENTRIES IN语句抽取到内表中
2. inner join获取数据时,尽量不要用太多的表关联,特别是大表关联,关联顺序:小表 - 大表
3. 查询结果应该只需要自己关系的字段,尽量少用select *
4. where条件里面多用索引,主键,顺序也要遵循小表 - 大表
5. 不要使用select end-select语句,可以取出来后再处理
6. 不要用<>,这样会不使用索引,可以用>or<来替代
7. 不要用order by进行排序,取出来后在内表中处理,内表处理优化:
a. 尽量少用多重循环
b. read时,可以先sort 然后用read binary search,会快很多
c. 对内表做批量修改时,可以使用modify transporting where 语句进行替换,而不用循环修改
8.内表求和,能够在sql层次上实现就用sql实现,不能实现的,在内表循环中用atend of之类的进行求和,collect直接求和在数据量很大时,效率会比较低
9.CPU的负载可以通过优化程序来改善,在程序中尽量使用诸如sum(SQL语句)或者collect(ABAP语句)
8. 用append lines of *** to *** 代替 loop at ***,append *** to