999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談ABAP程序的優(yōu)化

2012-12-31 00:00:00張立偉唐偉

【摘 要】影響ABAP程序運(yùn)行效率的因素及相應(yīng)的優(yōu)化方法。

【關(guān)鍵詞】ABAP;優(yōu)化;查詢;主鍵

0.引言

ABAP是Advanced Business Application Programming(高級商務(wù)應(yīng)用程序)的縮寫,它是一款基于SAP平臺的編程語言,由德國SAP公司開發(fā),主要用于SAP系統(tǒng)中報(bào)表程序的編寫開發(fā)。不同行業(yè)領(lǐng)域的用戶在使用SAP系統(tǒng)時(shí),會提出不同的報(bào)表需求,SAP的標(biāo)準(zhǔn)報(bào)表更側(cè)重通用性,專業(yè)性能不強(qiáng),這就需要應(yīng)用ABAP語言為用戶量身訂做各個(gè)專業(yè)報(bào)表。

ABAP報(bào)表開發(fā)往往要基于SAP系統(tǒng)中自帶的數(shù)據(jù)庫表。這些表都是SAP系統(tǒng)創(chuàng)建好的,隨著SAP系統(tǒng)的安裝,這些表也被安裝到了SAP服務(wù)器上。ABAP程序員沒有對這些表的修改權(quán)限,只有使用(即select)權(quán)限,所以對于ABAP程序員來說,如何在數(shù)以萬計(jì)的數(shù)據(jù)庫表中快速地提取有效的信息,并通過相關(guān)計(jì)算,把它們有序的排列出來,再展示給用戶,才是關(guān)鍵。

1.優(yōu)化方法

想要優(yōu)化ABAP程序,就必須清楚影響ABAP程序運(yùn)行效率的因素及相應(yīng)的優(yōu)化方法。筆者經(jīng)過兩年的切身實(shí)踐,體會最深的有以下幾點(diǎn):

1.1非主鍵和索引查詢

有很多用戶都希望通過一些非主鍵或者索引的字段進(jìn)行查詢,這種查詢的效率是很低的。這就好比從一本字典中查找漢字卻不使用檢字法一樣。

優(yōu)化方法:

程序員可以建議用戶盡量使用主鍵或者索引進(jìn)行查詢。如果有些情況確實(shí)需要非主鍵或者索引進(jìn)行查詢,那么可以借助中間表把非主鍵和索引轉(zhuǎn)換成主鍵或者索引,再進(jìn)行查詢。如用戶想根據(jù)采購訂單字段(EBELN)查詢物料的收貨情況,而物料憑證表(MSEG)中,EBELN既不是主鍵,也不是索引,那么在使用EBELN對MSEG表進(jìn)行查詢時(shí),效率很低,那么我們可以借助表EKBE(采購憑證的收貨記錄表)作為中間表,因?yàn)镋BELN字段在EKBE表中是第一個(gè)主鍵字段,這樣取數(shù)效率就大大增加了。

1.2循環(huán)取數(shù)

簡單的說,就是對數(shù)據(jù)庫表中的記錄進(jìn)行循環(huán),把符合條件的記錄取出來,每次只取一條。這種取數(shù)方式會把數(shù)據(jù)庫表中的所有記錄循環(huán)一遍,這樣的方式大大降低的程序運(yùn)行效率。所以即便是在數(shù)據(jù)量不是很大的表中取數(shù),也不要采用這個(gè)方式。

優(yōu)化方法:

采用集中取數(shù)的方式,把有用的數(shù)據(jù)一次性全部取出來,這樣,我們實(shí)際上只花費(fèi)了取一兩條記錄的時(shí)間,卻得到了需要的所有記錄。

1.3龐大的數(shù)據(jù)量

在SAP的標(biāo)準(zhǔn)數(shù)據(jù)庫表中有很多表的數(shù)據(jù)量是相當(dāng)龐大的,如BSEG、CDPOS、MSEG等,這些表在ABAP字典中的數(shù)據(jù)量幾乎是成倍增長的。在有些單位,這些表的數(shù)據(jù)量每天都在以成百成千的速度增加。那么,從這樣的表中取數(shù)的速度會比其它表慢一些。

優(yōu)化方法:

在非必要的情況下,盡量減少對這些表的使用。必須使用的時(shí)候,盡量使用主鍵或者索引進(jìn)行查詢。

1.4非關(guān)系表聯(lián)合取數(shù)

有些時(shí)候,為了方便取數(shù),程序員經(jīng)常會把多張表聯(lián)合起來取數(shù),這樣的確可以提高效率,但是需要注意的是,如果聯(lián)合在一起的數(shù)據(jù)庫表中有非關(guān)系表,那么效率不但不會提高,反而會大大降低。

所謂關(guān)系表,是指主鍵或者索引存在相同字段的表,這些表在聯(lián)合取數(shù)是按照主鍵或者索引進(jìn)行關(guān)聯(lián),可以把多張表中的信息組合到一起,這樣來提高取數(shù)效率,如MKPF和MSEG,這兩張表中,前者的主鍵也是后者的主鍵,盡管這兩張表的數(shù)據(jù)量都很大,但是由于主鍵關(guān)聯(lián),取數(shù)時(shí)的效率并沒有受到多大影響。但是對于非關(guān)系表,情況就截然相反。

優(yōu)化方法:

可以借助中間表把非關(guān)系表轉(zhuǎn)換成關(guān)系表,如果找不到中間表,就把查詢時(shí)用到的表按照關(guān)聯(lián)關(guān)系進(jìn)行劃分,把關(guān)系表放在一起取數(shù),多取一次也好過非關(guān)系表聯(lián)合取數(shù)。

1.5循環(huán)嵌套

有些時(shí)候,需要在循環(huán)一張表的同時(shí),再循環(huán)另一張表,這樣,實(shí)際的循環(huán)次數(shù)就是外層表的循環(huán)次數(shù)乘以內(nèi)層表的循環(huán)次數(shù),運(yùn)算量成倍增長,運(yùn)行效率自然降了下來。

優(yōu)化方法:

外層表循環(huán)的時(shí)候,內(nèi)層表盡量采用讀表(read)的方式,這樣不會增加循環(huán)次數(shù),必須循環(huán)內(nèi)層表的時(shí)候,最好寫出跳出內(nèi)層循環(huán)(exit)的條件,以減少循環(huán)次數(shù)。

1.6重復(fù)代碼

有時(shí)候我們會發(fā)現(xiàn)這樣的問題:某段代碼在同一個(gè)程序的不同位置重復(fù)出現(xiàn),有時(shí)會重復(fù)多次。這樣就造成的代碼冗余,不利于代碼的修改和維護(hù)。

優(yōu)化方法:

把相同的代碼寫在一個(gè)類(class)、方法(method)、函數(shù)(function)或者子程序(subroutine)里面,設(shè)置傳遞參數(shù),在程序中采用調(diào)用的方式,以參數(shù)傳遞方式運(yùn)行,這樣便于代碼管理和維護(hù)。

1.7無效代碼

無效代碼也稱垃圾代碼,這些代碼一般是在代碼維護(hù)時(shí)漏掉的,它占用的系統(tǒng)資源卻沒有發(fā)揮作用。

優(yōu)化方法:

注釋掉或者直接刪除。

2.結(jié)論

ABAP程序?yàn)镾AP提供了報(bào)表開發(fā)功能,使各個(gè)行業(yè)領(lǐng)域都可以在SAP中開發(fā)自身需要的報(bào)表。了解和掌握了影響ABAP程序運(yùn)行效率的因素,對于ABAP的開發(fā)和快速運(yùn)行,是大有裨益的。

ABAP程序的優(yōu)化縮短了程序運(yùn)行周期,提高了運(yùn)行效率,節(jié)省了系統(tǒng)資源,降低了運(yùn)行成本。

主站蜘蛛池模板: 五月丁香在线视频| 亚洲天堂网在线视频| 国产成人精品视频一区视频二区| 午夜啪啪福利| 99久久精品免费观看国产| 四虎成人免费毛片| 国产人免费人成免费视频| 激情無極限的亚洲一区免费| 国产极品粉嫩小泬免费看| 亚洲毛片一级带毛片基地| 欧美成人二区| 亚洲精品久综合蜜| 91久久偷偷做嫩草影院免费看| 精品国产网| 白丝美女办公室高潮喷水视频| 亚洲经典在线中文字幕| 亚洲天堂网在线播放| 久草青青在线视频| 无码又爽又刺激的高潮视频| 亚欧美国产综合| 亚洲成人福利网站| 成年人视频一区二区| 亚洲伊人天堂| 亚洲91在线精品| 国产91小视频在线观看| 福利国产在线| 久久久久久国产精品mv| 国产精品一区在线观看你懂的| 在线国产91| 亚洲天堂福利视频| 91黄视频在线观看| 亚洲美女视频一区| 激情無極限的亚洲一区免费| 激情无码视频在线看| 亚洲三级片在线看| 先锋资源久久| 国产在线欧美| 国产正在播放| 蝴蝶伊人久久中文娱乐网| 青青青伊人色综合久久| 在线免费看片a| 黄色污网站在线观看| 日本人又色又爽的视频| 国产精品原创不卡在线| 国产精品自在在线午夜| 精品無碼一區在線觀看 | 欧美日韩国产在线播放| 九色综合伊人久久富二代| 九九热精品视频在线| 久夜色精品国产噜噜| 2021亚洲精品不卡a| 中文字幕一区二区视频| 国产视频大全| 国产原创第一页在线观看| 欧美区在线播放| 国产美女在线免费观看| av天堂最新版在线| 国产精品欧美在线观看| 国产精品一区在线观看你懂的| 激情视频综合网| 亚洲手机在线| 亚洲中字无码AV电影在线观看| 中文字幕无码中文字幕有码在线| 四虎永久在线精品国产免费| 国产人成在线观看| 好吊色国产欧美日韩免费观看| 日韩天堂视频| 亚洲视频在线青青| 国产99视频精品免费观看9e| 久久久久亚洲av成人网人人软件| 99热这里只有成人精品国产| 免费一级毛片在线观看| 黄色a一级视频| 国产乱子伦视频三区| 亚洲一区波多野结衣二区三区| 成人午夜久久| 国内精品91| 99视频只有精品| 亚洲精品欧美日本中文字幕| 91蝌蚪视频在线观看| 制服丝袜无码每日更新| 欧美精品不卡|