SAP性能優化(一)- 匯總


SAP性能優化(一)- 匯總

SAP的透明表中,數據量一旦達到千萬、億級,我們不得不考慮數據庫優化的問題。 

1. Data Archiving數據歸檔 
這個是最行之有效的方法。 
Tcode : 
SARA 數據歸檔主要的Tcode 
DB02 性能分析,主要是Performance,sapce等。 

2. 建立索引 
SE11,在表中,Create index。這里創建索引的依據是Where條件后面的字段,肯定不全是key fields了,一般關鍵字已經被sap默認創建為Primary Index。犧牲一些空間,達到性能的提高。 

3. 建立View 
此機制不是很理解,有知道的可以指點一下,先謝謝咯。 

4. 用Hint指定Index 
Hint是Oracle提供的一種SQL語法,它允許用戶在SQL語句中插入相關的語法,從而影響SQL的執行方式,如果你的Hint寫錯了,在Oracle層會當作注釋處理掉。 
ABAP中常見有兩種用法:(注:在SQL代碼中加入Hint,特別是性能相關的Hint是很危險的做法,寫得不匹配反而拖累Performance。) 
1.全表掃描:%_HINTS ORACLE 'FULL("table_name")' 
2.指定索引:%_HINTS ORACLE 'INDEX("table_name" " index_name")' 

寫Select建議: 
1.多表查詢,盡量維護一個View,千萬不要嵌套,如Select套Select、Loop兩層嵌套Loop或Loop嵌套Select; 
2.使用Inner Join; 
  SELECT H~LGNUM H~TANUM I~TAPOS 
    INTO TABLE IT_DATA 
    FROM LTAK AS H 
   INNER JOIN LTAP AS I 
      ON H~LGNUM EQ I~LGNUM 
     AND H~TANUM EQ I~TANUM 
   WHERE BDATU   EQ '20120412'. 
3.使用子查詢 
SELECT * 
  INTO TABLE IT_DATA 
  FROM LTAP AS I 
WHERE WERKS EQ '1000' 
   AND EXISTS ( SELECT * FROM LTAK 
                     WHERE LGNUM EQ I~LGNUM 
                       AND TANUM EQ I~TANUM 
                       AND DRUCK EQ 'X' ) 
   AND TAPOS EQ '1'. 


相關Transaction Code: 
ST05 性能分析,追蹤SQL,分析哪條SQL Statement語句,最耗時間 
STAD 得到某個程序或事務運行時的總體分析數據,系統時間,CPU時間等 
SE30 分析某個事務或程序的執行時間,有一些性能分析的例子

 

FORM:http://sapabap.iteye.com/blog/1484950


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM