SAP ABAP程序优化方法(搜集自论坛)
2007-02-10 16:30
465 查看
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
第一种写法:
Select matnr
INTO it_mara
FROM mara.
APPEND it_mara.
ENDSelect.
第二种写法(high performace):
Select matnr
INTO TABLE it_mara
FROM mara.
==========================================
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
DATA: BEGIN OF it_makt OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_makt.
第一种写法:
LOOP AT it_mara.
Select SINGLE maktx
INTO it_mara-maktx
FROM makt
Where matnr = it_mara-matnr AND
spras = sy-langu.
MODIFY it_mara TRANSPORTING maktx.
ENDLOOP.
第二种写法(high performace)
Select matnr maktx
INTO TABLE it_makt
FROM makt
FOR ALL ENTRIES IN it_mara
Where matnr = it_mara-matnr and
spras = sy-langu.
=========================================
1 数据——>工作区,工作区——>内表,
2 数据——>内表
很明显少了一个过程 效率自然高了 如果数据量越大,效果是可想而知的
=========================================
1 每遍历内表一下 都要select一下 select 本身就是循环 循环套循环 时间消耗度是n*n
2select出已经存在内表中的所有满足条件的值 不敢说时间消耗度是n*n 但至少时间上大大地打了一下折
***************************************************
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
第一种写法:
Select matnr
INTO it_mara
FROM mara.
APPEND it_mara.
ENDSelect.
第二种写法(high performace):
Select matnr
INTO TABLE it_mara
FROM mara.
==========================================
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
DATA: BEGIN OF it_makt OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_makt.
第一种写法:
LOOP AT it_mara.
Select SINGLE maktx
INTO it_mara-maktx
FROM makt
Where matnr = it_mara-matnr AND
spras = sy-langu.
MODIFY it_mara TRANSPORTING maktx.
ENDLOOP.
第二种写法(high performace)
Select matnr maktx
INTO TABLE it_makt
FROM makt
FOR ALL ENTRIES IN it_mara
Where matnr = it_mara-matnr and
spras = sy-langu.
=========================================
1 数据——>工作区,工作区——>内表,
2 数据——>内表
很明显少了一个过程 效率自然高了 如果数据量越大,效果是可想而知的
=========================================
1 每遍历内表一下 都要select一下 select 本身就是循环 循环套循环 时间消耗度是n*n
2select出已经存在内表中的所有满足条件的值 不敢说时间消耗度是n*n 但至少时间上大大地打了一下折
***************************************************
相关文章推荐
- SAP ABAP程序优化方法(搜集自论坛)
- SAP ABAP程序优化方法(搜集自论坛)
- SAP ABAP程序优化方法
- SAP ABAP程序优化方法
- 一些优化ABAP程序性能的方法
- SAP ABAP程序效率优化 Perfomance Tune
- SAP ABAP程序优化-多线程并行处理
- SAP ABAP程序性能优化
- SAP ABAP程序优化-多线程并行处理
- ABAP程序优化方法
- SAP ABAP程序效率优化 Perfomance Tune
- SAP ABAP程序优化-多线程并行处理
- SAP ABAP程序优化-多线程并行处理
- SAP ABAP程序效率优化 Perfomance Tune
- SAP ABAP程序效率优化 Perfomance Tune
- SAP ABAP程序性能优化
- SAP ABAP程序性能优化 2
- SAP ABAP程序优化(我也来谈谈程序优化)
- ABAP程序优化
- 50个PHP程序性能优化的方法