开发基础 报表教程 数据字典 对话编程 表单打印 增强出口 SAP接口 S/4 HANA
实战案例 实战笔记 资料下载 CRM
问答互助 会员分享 俱乐部 广告区
论坛指南、建议和投诉
Twilight发表于 2014-02-09 18:50Twilight 最后回复于 2014-02-09 18:50 [复制链接] 5072 0
使用道具 举报
Twilight
管理员
发表回复 回帖后跳转到最后一页
2.尽可能多地使用表的索引作为Where分句的条件选项,尽可能让程序只读取一定范围内的记录(比如说,你只准备操作一个月之内的业务数据,那么对于这一个月的业务就应该有一定的范围取值,如1000~2000)。
3.尽量使用Select A B C INTO TABLE ITAB这样的语句。这个操作会将所有符合条件的数据一次性地读进内表,这比在Select A B C INTO ITAB... ENDSELECT的循环中添加数据到内表要快。
4.尽可能使用Select SINGLE语句。
5.使用ABAP排序而不使用order by 。
6.可以使用视图来代表基本表的查询。
不推荐
7.可以使用一些聚合函数、GROUP BY …HAVING,来进行计算和分组统计,也可以来改善查询的效率。
例如:
不推荐
不推荐
不推荐
不推荐
11.两个内表添加使用批量增加代替逐行
不推荐
不推荐
2 数据——>内表
很明显少了一个过程 效率自然高了 如果数据量越大,效果是可想而知的
13.避免使用SELECT DISTINCT语句
使用的 ABAP SORT + DELETE ADJACENT DUPLICATES 代替.
14.更多地使用动态数据对象来访问内表。
例:
不推荐:
16.用OCCURS NUM_RECS声明内表,NUM_RECS参数是你估计(或希望)使用到的数据条数。如果使用到的记录条数超出NUM_RECS参数的限制,数据将被存放在硬盘上的交换空间(不是内存)。
17.内表使用完之后,应使用FREE来释放内存.
18.Field-groups(字段组)对于多层次的排序和显示是非常有用的。它是将数据写入系统的页面文件,而不是内存(内表是使用内存的)。基于这个原因,field-groups比较适合于处理大量数据的列表(一般超过50000条记录)。如果涉及大量的数据处理,应该首先和系统管理员协商来决定这个程序最多能使用多少内存,以计算这个程序需要使用多少资源。然后你就可以决定是把数据写入内存还是交换空间。