關於在SAP中SQL語句的效能
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
第一種寫法:
Select matnr
INTO it_mara
FROM mara.
APPEND it_mara.
ENDSelect.
第二種寫法(high performace):
Select matnr
INTO TABLE it_mara
FROM mara.
==========================================
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
DATA: BEGIN OF it_makt OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_makt.
第一種寫法:
LOOP AT it_mara.
Select SINGLE maktx
INTO it_mara-maktx
FROM makt
Where matnr = it_mara-matnr AND
spras = sy-langu.
MODIFY it_mara TRANSPORTING maktx.
ENDLOOP.
第二種寫法(high performace)
Select matnr maktx
INTO TABLE it_makt
FROM makt
FOR ALL ENTRIES IN it_mara
Where matnr = it_mara-matnr and
spras = sy-langu.
=========================================
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
第一種寫法:
Select matnr
INTO it_mara
FROM mara.
APPEND it_mara.
ENDSelect.
第二種寫法(high performace):
Select matnr
INTO TABLE it_mara
FROM mara.
==========================================
DATA: BEGIN OF it_mara OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_mara.
DATA: BEGIN OF it_makt OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
END OF it_makt.
第一種寫法:
LOOP AT it_mara.
Select SINGLE maktx
INTO it_mara-maktx
FROM makt
Where matnr = it_mara-matnr AND
spras = sy-langu.
MODIFY it_mara TRANSPORTING maktx.
ENDLOOP.
第二種寫法(high performace)
Select matnr maktx
INTO TABLE it_makt
FROM makt
FOR ALL ENTRIES IN it_mara
Where matnr = it_mara-matnr and
spras = sy-langu.
=========================================
1 資料——>工作區,工作區——>內表,
2 資料——>內表
很明顯少了一個過程 效率自然高了 如果資料量越大,效果是可想而知的
=========================================
1 每遍歷內表一下 都要select一下 select 本身就是迴圈 迴圈套迴圈 時間消耗度是n*n
2select出已經存在內表中的所有滿足條件的值 不敢說時間消耗度是n*n 但至少時間上大大地打了一下折
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90072/viewspace-899318/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於Mybatis中SQL語句的整理MyBatisSQL
- 關於sql語句的優化SQL優化
- 4.3.2 關於使用SQL語句建立CDBSQL
- GOTO語句在PL/SQL中的應用GoSQL
- 關於sql語句的遊標共享問題SQL
- sql語句效能優化SQL優化
- 在事務中執行sql語句SQL
- 在nhibernate中執行SQL語句SQL
- sql 中的with 語句使用SQL
- 在Oracle 9i中修改表的結構的相關sql語句OracleSQL
- 關於評審開發人員的sql語句SQL
- python關於pymysql 執行sql語句in的用法PythonMySql
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- 關於create database語句在10g,11g中的不同Database
- 一條SQL語句在MySQL中如何執行的MySql
- SQL中查詢語句內的相關應用SQL
- 關於在SQL語句中ON和WHERE中條件使用的差異SQL
- 基於dba_hist_sqlstat檢視sql語句的效能歷史SQL
- 【原】關於資料倉儲中複雜報表SQL語句的寫法SQL
- 替代SQL語句WHERE條件中OR關鍵詞SQL
- SQL效能的度量 - 語句級別的SQL跟蹤autotraceSQL
- 一條sql語句在mysql中是如何執行的MySql
- 一條 SQL 語句在 MySQL 中是如何執行的?MySql
- 關於 TX 鎖的兩句sqlSQL
- 關於 Java 中 finally 語句塊的深度辨析Java
- MySQL關於根據日期查詢資料的sql語句MySql
- SQL語句大全,你需要的SQL在這裡SQL
- 在 laravel 中輕鬆容易的輸出完整的 sql 語句LaravelSQL
- 關於動態語句
- ORACLE sql 語句的執行過程(SQL效能調整)OracleSQL
- 關於sap效能優化的問題優化
- Oracle SQLT 診斷SQL語句效能(3)OracleSQL
- Oracle SQLT 診斷SQL語句效能(2)OracleSQL
- Oracle SQLT 診斷SQL語句效能(1)OracleSQL
- oracle效能問題:sql語句優化OracleSQL優化
- 如何寫出高效能SQL語句SQL
- SQL語句效能調整原則(zt)SQL
- 12C多租戶關於CDB、PDB的常用SQL語句SQL