生活随笔
收集整理的這篇文章主要介紹了
【推荐】ABAP select语句性能优化之高级教程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
select where條件順序影響sql執(zhí)行效率,本例中條件包含必輸、等于、不等于、可輸?shù)?#xff0c;他們的順序隨便排列么? CASE: SELECT-OPTIONS: s_bukrs FOR t001-bukrs OBLIGATORY DEFAULT 'H100',"公司代碼 ? ?? ?? ?? ?? ? s_vkorg FOR vbak-vkorg OBLIGATORY DEFAULT 'H100',"銷售組織 ? ?? ?? ?? ?? ? s_vtweg FOR vbak-vtweg OBLIGATORY DEFAULT '50',"分銷渠道 ? ?? ?? ?? ?? ? s_spart FOR vbak-spart,? ?? ?? ???"產(chǎn)品組 ? ?? ?? ?? ?? ? s_matnr FOR mara-matnr.? ?? ?? ???"商品編碼 SELECT k~erdat ? ???p~vbeln ? ???p~posnr ? ???p~matnr ? ???p~pstyv ? ???p~kwmeng ? ???p~erdat AS erdat_p ? ???p~kzwi1 INTO TABLE gt_vbkp FROM vbak AS k INNER JOIN vbap AS p ON p~vbeln = k~vbeln WHERE k~erdat <= lv_erdaten AND k~erdat >= lv_erdatbe AND k~vkorg IN s_vkorg AND k~vtweg IN s_vtweg AND k~spart IN s_spart AND p~matnr IN s_matnr AND p~pstyv = 'ZTAN'. 復(fù)制代碼 select語(yǔ)句需要注意以下幾點(diǎn): 1、小表關(guān)聯(lián)大表 2、有索引走索引,若果數(shù)據(jù)量大,自建適合的索引 3、等于、必輸r_range放在最前,不等于放在中間、可輸放在最后 4、條件字段的順序盡量和數(shù)據(jù)字典中順序一致 |
優(yōu)化之后:
SELECT k~erdat
? ?? ? p~vbeln
? ?? ? p~posnr
? ?? ? p~matnr
? ?? ? p~pstyv
? ?? ? p~kwmeng
? ?? ? p~erdat AS erdat_p
? ?? ? p~kzwi1
INTO TABLE gt_vbkp
FROM vbak AS k
INNER JOIN vbap AS p ON p~vbeln = k~vbeln
WHERE k~vkorg IN s_vkorg
??AND k~vtweg IN s_vtweg
??AND p~pstyv = 'ZTAN'
??AND k~erdat <= lv_erdaten
??AND k~erdat >= lv_erdatbe
??AND k~spart IN s_spart
??AND p~matnr IN s_matnr.
總結(jié)
以上是生活随笔為你收集整理的【推荐】ABAP select语句性能优化之高级教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。