日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于自定义程序的效能优化

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于自定义程序的效能优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在項目中,總會有各種的ABAP程序的性能太慢,需要優化,

說明:本文檔是參照sap程序優化標準培訓教材BC490。
程序優化宗旨:
1.正確運用索引,盡量避免以全表掃描的方式提取數據,這是程序效能的最主要影響因素。
2.盡量減少數據的傳輸(例如,利用buffer,無用列不要傳,數據的過濾盡量放在數據庫層等)。
3.批處理優于逐筆處理。
4.讓代碼少作無用功,擯棄無用程序代碼。

一、實現方式的優化:
1.檢查系統標準報表,察看有沒有功能相同,相似的報表,以標準報表,或標準報表的增強版代替自定義開發程序。
2.低效率的query程序,如果問題出在無法優化的infoset 則應該考慮abap開發。
3.通過信息結構產生的查詢程序,要特別注意效能,必要的時候考慮abap自定義開發,或query, report painter 等方式實現。
4.通過邏輯數據庫實現的程序,如果效能低,可以考慮abap開發實現。

二、運行方式的優化:
1.對于非實時數據查詢報表,可以考慮放到后臺運行。
2.非實時數據查詢,可以通過自定數據表存儲運算結果,讓用戶直接從自定義表抽取報表數據,大大提升查詢響應速度。
3.定期后臺運行程序,把結果存入文檔直接讓用戶下載等。

三、查詢界面的優化:
1. 注意避免完全無輸入限制的界面,這樣可能會導致全表掃描的查詢方式,帶來效能問題
2.查詢界面的設計要盡量契合程序中SQL的where條件。

四、程序代碼的優化:
1) 正確運用索引:For all frequently used Select statements, try to use an?
index. You always use an index if you specify (a generic part of)?
the index fields concatenated with logical Ands in the Select?
statement's Where clause. Note that complex Where clauses?
are poison for the statement optimizer in any database system。
如果一個大數據量的SQL查詢,WHERE條件沒有利用索引提取數據,必然帶來嚴重的效能問題:可以通過工具ST05等分析查詢效能,或直接通過觀察法分析SQL查詢語句。
A.首先查看是否使用正確的數據表,(例如如果要取得科目期間金額數據,可直接從glt0表中獲得,而不要通過bseg累加計算了)。
B.如果當前表不能提供按索引查詢,可考慮是否可以通過索引表,例如vbrp中沒有按物料的條件查詢,但vbrmp則有按物料的索引,可以通過該表獲得憑證號,再通過憑證號到VBRP中獲得所需信息。
C.看有沒有符合條件的視圖。
D.按查詢條件建立索引。

*自定義索引請注意以下問題:
1.不要修改標準索引。
2.每個表一般索引個數不要超過5個,索引字段一般不要超過4個。
3.盡量不要在主數據表和業務數據表中添加索引。
4.不要在以DD打頭的標中建索引,因為他們是基礎表。
5.字段排列按一下規則: Identifiers:+ Organizational units:+ Status fields:+ Classifiers:+ Date and time:+ Text fields:)。
6.對于非常復雜的where條件要拆成多查詢語句,因為數據庫的查詢優化器無法對復雜條
件查詢實現優化,可能導致非索引查詢。
2) Where條件中盡量不要用“非”的查詢條件(諸如not,<>, not in ,etc),這樣可以縮小
數據搜索范圍。
3)注意BUFFER:For all frequently used, read-only tables, try to use SAP buffering.?
Network load is considerably less。
4) 盡量避免嵌套查詢,多SQL查詢,看可不可以用視圖,表關聯或子查詢替代。
5) 用Select Into Table 代替Select + Append模式語句。
6) 用批處理模式代替逐紀錄處理,例如:
INSERT CUSTOMERS FROM TABLE TAB.
比下面語句要高效的多
LOOP AT TAB INTO TAB_WA.
INSERT INTO CUSTOMERS VALUES TAB_WA.
ENDLOOP.
其他操作原理相同
7) 把運算盡量放到SQL層次實現,避免不必要數據的傳輸,例如
SELECT * FROM SBOOK INTO SBOOK_WA
WHERE CARRID = 'LH' AND CONNID = '0400'.
ENDSELECT.
比下面語句要高效率
SELECT * FROM SBOOK INTO SBOOK_WA.
CHECK: SBOOK_WA-CARRID = 'LH' AND SBOOK_WA-CONNID = '0400'.
ENDSELECT.

還有: DATA: MAX_MSGNR type t100-msgnr.
SELECT MAX( MSGNR ) FROM T100 INTO max_msgnr
WHERE SPRSL = 'D' AND
ARBGB = '00'.比下面語句要高效率得多
DATA: MAX_MSGNR type t100-msgnr.
MAX_MSGNR = '000'.
SELECT * FROM T100 INTO T100_WA
WHERE SPRSL = 'D' AND
ARBGB = '00'.
CHECK: T100_WA-MSGNR > MAX_MSGNR.
MAX_MSGNR = T100_WA-MSGNR.
ENDSELECT.
等等,其他操作原理相同。
8)不要濫用 SELECT *,一般應把所需字段list出來,不要list不必要的字段,減少數據傳輸,減輕網絡負擔,提升性能。

9)大數據量內表處理的優化
a.批處理優于逐紀錄處理,例如APPEND LINES OF ITAB1 TO ITAB2.
優于
LOOP AT ITAB1 INTO WA.
APPEND WA TO ITAB2.
ENDLOOP.
ITAB2[] = ITAB1[].
優于
REFRESH ITAB2.
LOOP AT ITAB1 INTO WA.
APPEND WA TO ITAB2.
ENDLOOP.

b.運用排序和BINARY SEARCH?
If internal tables are assumed to have many (>20) entries, a linear?
search through all entries is very time-consuming.?
Try to keep the table ordered and use binary search?
or used a table of type SORTED TABLE.?
If TAB has n entries, linear search runs in O( n ) time, whereas?
binary search takes only O( log2( n ) ).
例如:
READ TABLE ITAB INTO WA WITH KEY K = 'X' BINARY SEARCH.
遠優于
READ TABLE ITAB INTO WA WITH KEY K = 'X'.

總結

以上是生活随笔為你收集整理的关于自定义程序的效能优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲无限av | 国产精品黑丝 | 少妇又色又爽又黄的视频 | 99爱在线观看 | 性生交生活影碟片 | 美女网站免费视频 | av在线专区 | 99热这里只有精品首页 | 超碰98| 97超在线 | 久久久老司机 | 暴力调教一区二区三区 | 99免费看| 深夜视频在线免费 | 在线看的免费网站 | 久久男人 | 精品久久久久久久久久久国产字幕 | 在线色导航 | 国产精品视频合集 | 亚洲天天干| 少妇太紧太爽又黄又硬又爽 | √天堂资源在线 | 日韩欧美高清在线视频 | 国产一区二区三区视频免费观看 | 少妇激情网| 日韩精品二区在线观看 | 激情内射人妻1区2区3区 | 97成人在线 | 黄色美女一级片 | 超碰66 | 色一情一乱一区二区三区 | 日日舔夜夜操 | 日韩亚洲精品视频 | 激情爱爱网站 | 成人激情在线观看 | 欧美日韩成人在线视频 | 小镇姑娘国语版在线观看免费 | 国产视频在线观看视频 | 精品无码一区二区三区 | 日本成人中文字幕 | 依依综合网 | 亚洲欧美久久久 | 黄色日批视频 | 午夜天堂视频 | 成人免费视频大全 | 一区二区三区 中文字幕 | 越南a级片 | 鲁片一区二区三区 | 亚洲九九夜夜 | 男人和女人日b视频 | 法国空姐在线观看免费 | 国产激情综合五月久久 | 男人吃奶视频 | 蜜臀久久精品久久久久 | 亚洲码欧美码一区二区三区 | 人与动物2免费观看完整版电影高清 | 外国电影免费观看高清完整版 | 好吊妞视频在线 | 男女视频一区 | 日韩在线导航 | 久久精品久久久久久 | 欧美又大粗又爽又黄大片视频 | 国产一级做a爱片久久毛片a | 久久国产精品区 | 黄色生活毛片 | 国产精品1区2区3区4区 | 亚洲91在线 | 成人一级影视 | 九九激情网| 天天干天天操天天拍 | 亚洲第一综合网站 | 亚洲天堂av片 | 91大尺度 | 毛片自拍 | 轻轻草在线视频 | wwwxxxxx日本| 精品国产乱码久久久久久88av | 日韩视频免费在线 | 成人在线黄色 | 久久久久久久 | 国产精品高清无码在线观看 | 秋霞精品一区二区三区 | 日韩中文字幕久久 | 国产免费高清视频 | 久久人人爽人人爽 | 久久免费视频一区二区 | 日本高清精品 | 上海贵妇尝试黑人洋吊 | 依人成人 | 日韩视频h | 中文字幕免费高清在线 | 日日摸日日碰夜夜爽无码 | 手机成人av| 国内视频一区二区三区 | www.jizzjizz | 高贵麻麻被调教成玩物 | 91美女在线| av天天草| 精品99在线 |