關於在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
- 4.3.2 關於使用SQL語句建立CDBSQL
- sql語句效能優化SQL優化
- python關於pymysql 執行sql語句in的用法PythonMySql
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- 一條SQL語句在MySQL中如何執行的MySql
- SQL語句大全,你需要的SQL在這裡SQL
- MySQL關於根據日期查詢資料的sql語句MySql
- 一條sql語句在mysql中是如何執行的MySql
- 一條 SQL 語句在 MySQL 中是如何執行的?MySql
- springboot 中列印 sql 語句Spring BootSQL
- 在 laravel 中輕鬆容易的輸出完整的 sql 語句LaravelSQL
- 12C多租戶關於CDB、PDB的常用SQL語句SQL
- [20240607]PL/SQL中sql語句的註解.txtSQL
- 在mysql查詢效率慢的SQL語句MySql
- 一些sql語句的關鍵詞SQL
- SQL語句SQL
- SQL語句IN的用法SQL
- MySQL 52個SQL效能優化策略SQL語句彙總MySql優化
- SQL語句在oracle資料庫中的初級應用(上)SQLOracle資料庫
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- SAP HANA Database Explorer 裡的 SQL 語句如何排錯 trouble shootDatabaseSQL
- hibernate在JPA規範中在控制檯無法出現SQL語句SQL
- sql中row_number over語句SQL
- 【SQL】9 SQL INSERT INTO 語句SQL
- 【SQL】10 SQL UPDATE 語句SQL
- 【SQL】11 SQL DELETE 語句SQLdelete
- SQL SELECT 語句SQL
- sql常用語句SQL
- # 關於select關鍵字語句定義順序# 關於select關鍵字語句執行順序
- sql語句執行順序與效能優化(1)SQL優化
- Mysql 52條SQL語句效能優化策略彙總MySql優化
- Laravel 中輕鬆容易的輸出 SQL 語句LaravelSQL
- 使用DataSource-Proxy在Spring Boot中記錄SQL語句 - Vlad MihalceaSpring BootSQL
- sql語句如何執行的SQL
- MySQL中常用的SQL語句MySql
- sqlserver dba常用的sql語句SQLServer
- SQL 語句的注意事項SQL
- sql宣告變數,及if -else語句、while語句的用法SQL變數While