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)行成本。

主站蜘蛛池模板: 国产精品久久久久久久久久98| 亚洲制服中文字幕一区二区| 中文字幕亚洲第一| av性天堂网| 欧美成人综合视频| 欧美日韩国产高清一区二区三区| 久久这里只精品热免费99 | 国产麻豆另类AV| 国产欧美亚洲精品第3页在线| 58av国产精品| 潮喷在线无码白浆| 在线精品欧美日韩| 大学生久久香蕉国产线观看 | AV天堂资源福利在线观看| 亚洲AⅤ波多系列中文字幕| 国产精品区视频中文字幕| 亚洲综合第一区| 1769国产精品免费视频| 国产精品欧美日本韩免费一区二区三区不卡 | 国产导航在线| 男人天堂亚洲天堂| 中文字幕免费在线视频| 视频一本大道香蕉久在线播放 | 狠狠色综合网| 91精品久久久久久无码人妻| 国产超碰一区二区三区| 国产在线自乱拍播放| 国产成人精品18| 久久网欧美| 亚洲欧美人成电影在线观看| 日韩精品亚洲人旧成在线| 国产欧美日韩在线在线不卡视频| 九九热视频在线免费观看| 免费观看男人免费桶女人视频| 国产成人精品高清不卡在线 | 日韩色图在线观看| 日韩在线成年视频人网站观看| 久久久久亚洲av成人网人人软件| 婷婷丁香在线观看| 国产精品.com| 精品小视频在线观看| 萌白酱国产一区二区| 亚洲浓毛av| 日韩精品免费一线在线观看 | 免费看a毛片| 国产精品视频第一专区| 亚洲综合中文字幕国产精品欧美| 视频二区亚洲精品| 国产久操视频| 91国内在线观看| 日韩欧美国产三级| a国产精品| 四虎永久免费地址| 亚洲天堂视频在线观看| 午夜天堂视频| 国产精品成人一区二区不卡| 国产手机在线ΑⅤ片无码观看| 国产成人91精品免费网址在线 | 欧美成人二区| 91精品视频在线播放| 精品久久久久久中文字幕女| 波多野结衣久久高清免费| 91精品国产丝袜| 日韩资源站| 五月婷婷中文字幕| 伊人成人在线视频| 日本人又色又爽的视频| 久久无码av三级| 国产尤物在线播放| 国产精品人成在线播放| 再看日本中文字幕在线观看| 2021亚洲精品不卡a| 99久久人妻精品免费二区| 天天综合网色中文字幕| 欧美一区二区三区香蕉视| 亚洲天堂久久| 亚洲日本精品一区二区| 亚洲无码在线午夜电影| 97久久免费视频| 欧美成人看片一区二区三区| 好久久免费视频高清| 久久一级电影|