SAP ABAP 性能优化技巧 — 使用 “for all entries”
2009-08-03 19:30
387 查看
在select语句后面的where附加项中可以使用左关联,这会极大的提高程序速度,但同时也有一些局限,如下:
重复项会被从结果数据集中自动删除,因此要注意在select语句中需要给出详细的唯一关键字组合。
如果 For All Entries IN 字段修饰的内表是空表的话,源表的所有行都会被选入目标表中。因此在使用前一定要首先检查第一个表是否为空,这一点很重要,否则会有performance问题。
如果 For All Entries IN 字段修饰的内表很大的话,程序速度反而会减慢,而不是加快。因此应该尽量使该表的数据量控制在一个适当的大小。
不推荐使用:
推荐使用:
重复项会被从结果数据集中自动删除,因此要注意在select语句中需要给出详细的唯一关键字组合。
如果 For All Entries IN 字段修饰的内表是空表的话,源表的所有行都会被选入目标表中。因此在使用前一定要首先检查第一个表是否为空,这一点很重要,否则会有performance问题。
如果 For All Entries IN 字段修饰的内表很大的话,程序速度反而会减慢,而不是加快。因此应该尽量使该表的数据量控制在一个适当的大小。
不推荐使用:
Loop at int_cntry.
Select single * from zfligh into int_fligh
where cntry = int_cntry-cntry.
Append int_fligh.
Endloop.
Select single * from zfligh into int_fligh
where cntry = int_cntry-cntry.
Append int_fligh.
Endloop.
推荐使用:
IF NOT int_cntry[] IS INITIAL.
Select * from zfligh appending table int_fligh
For all entries in int_cntry
Where cntry = int_cntry-cntry.
ENDIF.
Select * from zfligh appending table int_fligh
For all entries in int_cntry
Where cntry = int_cntry-cntry.
ENDIF.
相关文章推荐
- ABAP性能优化之使用 “for all entries”
- SAP ABAP 性能优化技巧 — 使用 ABAP “Sort” 取代 “Order By”
- SAP ABAP 性能优化技巧 — 使用二分查找(Binary Search)选项
- SAP ABAP 性能优化技巧 — 正确使用”inner join”
- Unity3D中使用Profiler精确定位性能热点的优化技巧
- ABAP "FOR ALL ENTRIES IN" 使用指南
- ABAP "FOR ALL ENTRIES IN"使用指南
- SAPABAP性能优化技巧—使用二分查找(Binary Search)选项
- FOR ALL ENTRIES 使用注意事项
- Unity3D中使用Profiler精确定位性能热点的优化技巧
- 对于不能join的表,使用for all entries in语句将该表与内表串联。
- SAP ABAP 性能优化技巧 – 修改一组纪录
- SAP ABAP 性能优化技巧 — 性能分析的工具
- SAP ABAP 性能优化技巧 — 使用 ABAP “Sort” 取代 “Order By”
- MySQL中聚合函数count的使用和性能优化技巧
- ABAP "FOR ALL ENTRIES IN" 使用指南
- Unity3D中使用Profiler精确定位性能热点的优化技巧
- ABAP "FOR ALL ENTRIES IN" 使用指南
- 【优化】关于FOR ALL ENTRIES的小结
- SAP ABAP 性能优化技巧 –- “into table” 语句