【实用】ABAP“FOR ALL ENTRIES”的Hints 优化
ABAP“FOR ALL ENTRIES”的Hints 優化
?
通常默認情況下“FOR ALL ENTRIES IN”語句會將內表每5個數據生成一個新的Where語句來執行。
可通過事務代碼“RZ11”查詢參數名稱“rsdb/max_blocking_factor”,如下圖所示。
?
比如下面的代碼(僅供測試):
| REPORT?ZTEST. |
我們用事務代碼“ST05”跟蹤執行后可以發現,默認確實是讀取內表中的五條數據。
?
為了減少與數據庫的交互,縮減Select語句的次數,我們可以在Select語句的最后加上了這樣一句話,每次讀取的數據就會發生變化。
%_HINTS?ORACLE?'&max_blocking_factor?20&?&max_in_blocking_factor?20&'
(這里注意若是HANA數據庫,需要換成%_HINTS?HDB)
?
但是,rsdb/max_blocking_factor?設置的過大可能會使 SQL 超長,造成程序 DUMP,所以設置需謹慎。
?
【擴展學習】
- rsdb/MB_CUR_MAX
- rsdb/_create_single_client_cond
- rsdb/cua/buffersize
- rsdb/cua/max_objects
- rsdb/cua/mutex_n
- rsdb/db2jcl_library
- rsdb/dbhost
- rsdb/dbid
- rsdb/esm/buffersize_kb
- rsdb/esm/large_object_size
- rsdb/esm/max_objects
- rsdb/esm/mutex_n
- rsdb/fda_level
- rsdb/fda_shm_seg_size
- rsdb/icli_library
- rsdb/max_blocking_factor
- rsdb/max_in_blocking_factor
- rsdb/max_union_blocking_factor
- rsdb/min_blocking_factor
- rsdb/min_in_blocking_factor
- rsdb/min_union_blocking_factor
- rsdb/ntab/entrycount
- rsdb/ntab/ftabsize
- rsdb/ntab/irbdsize
- rsdb/ntab/sntabsize
- rsdb/obj/buffersize
- rsdb/obj/large_object_size
- rsdb/obj/max_objects
- rsdb/obj/mutex_n
- rsdb/oracle_host_standby
- rsdb/oracle_sid_standby
- rsdb/otr/buffersize_kb
- rsdb/otr/max_objects
- rsdb/otr/mutex_n
- rsdb/prefer_fix_blocking
- rsdb/prefer_in_itab_opt
- rsdb/prefer_join
- rsdb/prefer_join_with_fda
- rsdb/prefer_union_all
- rsdb/rclu/opt_level
- rsdb/rda
- rsdb/reco_add_error_codes
- rsdb/reco_ping_cmd
- rsdb/reco_sleep_time
- rsdb/reco_sosw_for_db
- rsdb/reco_sync_all_server
- rsdb/reco_tcp_service
- rsdb/reco_trials
- rsdb/rep/fast_touch
- rsdb/ssfs_connect
- rsdb/staton
- rsdb/stattime
- rsdb/supports_fda_prot
- rsdb/tbi_buffer_area_MB
- rsdb/tbi_dir_entries
- rsdb/trace_modules
- rsdb/vmcj/codepage_compatibility
?
總結
以上是生活随笔為你收集整理的【实用】ABAP“FOR ALL ENTRIES”的Hints 优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【实用】表维护视图SM30增加自定义按钮
- 下一篇: 【实用】ALV 清单右击隐藏列失效的处理