ITPub博客

首页 > 应用开发 > IT综合 > ABAP Select Skill

ABAP Select Skill

原创 IT综合 作者:dsht2007 时间:2009-11-06 14:43:55 0 删除 编辑

用来抓取数据提搞速度,

写法1:

SELECT MATNR BUDAT
INTO(ITAB-MATNR,ITAB-BUDAT)
FROM AUFM
WHERE MATNR IN P_MATNR AND
BUDAT IN P_BUDAT.

写法2:

SELECT MATNR BUDAT
INTO corresponding fields of table itab
FROM AUFM
WHERE MATNR IN P_MATNR AND
BUDAT IN P_BUDAT.

以前的程序运行所得的结果都是一样的, 但获取数据的速度,方法1 比方法2 快, 为什么呢?

取少数项目值时用INTO赋值到 变量中,取得项目多时应使用INTO TABLE,
对应的内表中的项目定义顺序最好和SELECT所选项目顺序相同,然后直接使用INTO TABLE itab,
而不是用CORRESPONDING FIELD,CORRESPONDING FIELD语句使编程人员方便编程,
不用一个一个对照项目顺序,但实际上这部分功能没有省,而是系统替你来完成的,
系统赋值前,要先对照是否项目名相同,相同才赋,不同继续向下比较,所以很费系统资源,
编程序本身就是“一劳永逸”的事情,还是建议在编写的时候多费点心思调整好,
可为将来千万次的调用,提高意想不到的效率。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21277275/viewspace-1028518/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-02

  • 博文量
    19
  • 访问量
    48288