用来抓取数据提搞速度,
写法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语句使编程人员方便编程,
不用一个一个对照项目顺序,但实际上这部分功能没有省,而是系统替你来完成的,
系统赋值前,要先对照是否项目名相同,相同才赋,不同继续向下比较,所以很费系统资源,
编程序本身就是“一劳永逸”的事情,还是建议在编写的时候多费点心思调整好,
可为将来千万次的调用,提高意想不到的效率。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21277275/viewspace-1028518/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21277275/viewspace-1028518/