abap中进行表关联的时候的效率分析!进行表关联的时候,使用join和for all entries in 时哪个效率高些,高手给个详细的解释吧!谢谢.能举个例子最好.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 19:08:35
abap中进行表关联的时候的效率分析!进行表关联的时候,使用join和for all entries in 时哪个效率高些,高手给个详细的解释吧!谢谢.能举个例子最好.
xT]OA+iTc!1»`ewݤX|*Hi@P5D\AR}fwgsdc&qx M-v.hrW|l,eX0;\;KC9BXӐۖđ#{wJSI\$r^lukB;G^3c7x!j j^VCiko9ذ9'A^sFUZ'ͤA4euQfW)ZfjU4;R nI;Ê,ȝdu+ucaqW#Ȉ@-@b! Iw*l*7G";Y⮂b /6j%r?{0x"0ǣO&'_^٥VgV8BA27B*/}W4eF#T"^ќe,"ຣ>7 R -t? GupLiVA<#X<].rm6F \ 2mRDIz DI / h zp/Wu0:86E V ?>gTՌDei*+P;Ϧ?% pĺC<

abap中进行表关联的时候的效率分析!进行表关联的时候,使用join和for all entries in 时哪个效率高些,高手给个详细的解释吧!谢谢.能举个例子最好.
abap中进行表关联的时候的效率分析!
进行表关联的时候,使用join和for all entries in 时哪个效率高些,高手给个详细的解释吧!谢谢.能举个例子最好.

abap中进行表关联的时候的效率分析!进行表关联的时候,使用join和for all entries in 时哪个效率高些,高手给个详细的解释吧!谢谢.能举个例子最好.
如果for all entries in 语句后面的内表中数据量比较少,强烈建议优先使用这个语句;但是如果该内表数据量非常大的话,使用for all entries in 是非常耗资源的,这时候建议使用inner join,使用inner join语句一次连接的表最好不要超过三个
还有一个方法就是定义一个RANG表,和SELECT-OPTIONS的使用方法相同:
eg.
如果SELECT语句像这样:
select * into it_makt from makt
for all entries in it_mara
where matnr = it_mara-matnr.
可以用如下方式做替换:
data rt_matnr type range of mara-matnr.
datya rw_matnr like line of rt_matnr.
loop at it_mara into wa_mara.
clear rw_matnr.
rw_matnr-sign = 'I'.
rw_matnr-option = 'EQ'.
rw-matnr-low = wa_mara-matnr.
append rw_matnr to rt_matnr.
endloop.
select * into it_makt from makt
where matnr in rt_matnr.