ABAP开发中,使用SORTED TABLE可以提升程序运行效率,效果超强。
根据一个内表(A)的某字段,循环读取另一个有相同字段的内表(B),在ABAP开发中是必不可少的操作。例如:
loop at A.
loop at B where f1 = A-f1.
endloop.
endloop.
如果B内表是一个STANDARD TABLE,在此嵌套循环中,运行效率及差,如果将B改为SORTED TABLE,则运行效率优于前者好多倍。但须注意 where 条件不能出现 or。
测试:
那如果将一般内表进行排序后,再循环读取,效果会怎样?
显然一般内表排序后被循环读取,与排序前读取一样的效果。
但由于种种原因有时不便使用SORTED TABLE,则只好采用BINARY SERACH找到内表行索引,再通过行索引Loop循环,比如:
使用行索引Loop 内表,效率已接近SORTED TABLE。
ABAP 操作SORTED TABLE,STANDARD TABLE性能比较
于 2024-07-25 16:48:08 首次发布