[20210419]避免冗餘的輸出.txt
[20210419]避免冗餘的輸出.txt
--//別人的問的問題,如何避免調式最佳化sql語句時大量的輸出資訊,順便總結概括幾種方法。
1.使用set feedback only:
--//12c R2開始sqlplus可以設定set feedback only。
--//更高的版本還可以顯示sql_id. 設定 set feedback only sql_id
--//例子:
SYS@dyhis1> set feedback only sql_id
SYS@dyhis1> select sysdate from dual ;
SYSDATE
-------------------
1 row selected.
SQL_ID: f0wzs9nc663bn
SYS@dyhis1> set head off
SYS@dyhis1> select sysdate from dual ;
1 row selected.
SQL_ID: f0wzs9nc663bn
--//缺點至少12c以上的sqlplus才支援這樣的設定。還有就是看執行計劃時要切換回來,比較麻煩。
2.使用set termout off以及set termout on。
--//這也是我常用的調式方法,例子:
set termout off
set sqlblanklines on
alter session set current_schema=XXX;
alter session set statistics_level=all;
select sysdate from dual ;
set termout on
--//缺點就是必須將sql語句寫在指令碼里面才能正常使用,如果你在sqlplus一個一個執行是無效的。
--//透過例子說明:
SCOTT@book> set termout off
SCOTT@book> select sysdate from dual ;
SYSDATE
-------------------
2021-04-19 16:49:56
--//在sqlplus裡面直接輸入的語句無效。
SCOTT@book> @ dpc '' ''
SCOTT@book> @ dpc '' ''
--//顯示執行計劃沒有輸出。
--//還有就是如果執行指令碼過程中按ctrl+c終端,必須有意識地輸入set termout on開啟,有時候在調式時很讓人疑惑。
3.在不影響執行計劃的情況下修改sql語句。
select * from emp ;
--// 修改如下,主要目的在基本不修改執行計劃的修改語句,減少輸出資訊。
select sum(sal) from emp ;
--//還有就是使用提示MATERIALIZE。
4.編輯指令碼例子如下:
@ 10046on 12
begin
for r in ( select * from emp ) loop
null;
end loop;
end;
/
@ 10046off
--//這樣方法我基本不用,我開始學習oracle時候見過別人這個用過。
begin
for r in ( &&sql ) loop
null;
end loop;
end;
/
--//缺點是語句必須寫在一行。
總結:
--//我現在基本最多的是第2種方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2768850/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hibernate/JPA中避免save()冗餘呼叫
- 網路冗餘技術
- [20210419]CBC latch再討論4.txt
- 如何消除冗餘資料的安全風險?
- [20220822]奇怪的ashtop輸出.txt
- [20211111]奇怪的ashtop輸出.txt
- [20210924]awk奇怪的輸出.txt
- 演算法題——冗餘連線演算法
- FHRP - 閘道器冗餘協議協議
- [20210419]測試18c SQL Translation Framework.txtSQLFramework
- 如何刪除Git倉庫中冗餘的tag?Git
- 使用Addressables+SpriteAtlas打包產生冗餘
- 資料庫設計——冗餘欄位資料庫
- [20190524]sqlplus 與輸出&.txtSQL
- SAP CRM Fiori應用冗餘round trip的原因分析
- 資料庫設計之欄位冗餘資料庫
- [20241112]無法理解sqlplus的輸出.txtSQL
- [20210924]awk奇怪的輸出2.txt
- [20191119]探究ipcs命令輸出.txt
- [20200317]NULL與排序輸出.txtNull排序
- 資料庫效能優化之冗餘欄位的作用資料庫優化
- leetcode 684. 冗餘連線(圖中找環)LeetCode
- VRRP-虛擬路由器冗餘協議VR路由器協議
- [20230405]奇怪的顯示輸出寬度.txt
- [20210902]cut使用輸出問題.txt
- [20200306]expand格式化輸出.txt
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20210301]延遲顯示輸出.txt
- mysql left join的時候又表是多條記錄的話,會出現冗餘的情況MySql
- 詳解分散式系統本質:“分治”和“冗餘”分散式
- VS Code 正則匹配(冗餘程式碼批量清理方法)
- [20231103]輸出倒數第2行.txt
- [20191106]善用column格式化輸出.txt
- [20191119]探究ipcs命令輸出2.txt
- [20180312]iostat顯示輸出問題.txtiOS
- CRC(迴圈冗餘校驗)和CBC(密碼塊鏈)密碼
- 一文全懂:獨立冗餘磁碟陣列(RAID)陣列AI
- 有一些冗餘程式碼, 只是實現了功能