原帖由 hahappyppy 于 2009-6-23 08:29 发表
两点意见哦:
1.尽量多加筛选条件, 而且条件最好是索引
2.基于性能考虑 a.把能join的就不多写一个Select
b.把能join的就不用 FOR ALL ENTRIES IN
所以把 VBAP 和MSEG的两次Select写成Join, 这样性能会有具体提升
你自己可以用SE30去看看执行效果
如果确实不能加筛选条件了怎么办
SELECT b~matnr
b~meins
b~ebeln
b~bwart
sum( b~menge ) as menge
sum( b~dmbtr ) as dmbtr
INTO corresponding fields of table g_t_mkpfg
from mkpf as a inner join mseg as b on a~mblnr = b~mblnr and a~mjahr = b~mjahr
where a~budat in s_budat and
b~matnr in s_matnr and
b~lgort in s_lgort and
a~MJAHR = s_budat-low(4)
group by b~matnr
b~meins
b~ebeln
b~bwart.
这样怎么优化?很慢