[20191220]格式化執行計劃.txt
[20191220]格式化執行計劃.txt
--//昨天幫別人最佳化一個sql語句.對方給的執行計劃類似如下:
SCOTT@book> set linesize 80
SCOTT@book> alter session set statistics_level = all;
Session altered.
SCOTT@book> select * from scott.emp ;
SCOTT@book> @ dpc '' ''
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID 9mhzzknczbj6p, child number 1
-------------------------------------
select * from scott.emp
Plan hash value: 3956160932
--------------------------------------------------------------------------------
------------------------------------
| Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time
| A-Rows | A-Time | Buffers |
--------------------------------------------------------------------------------
------------------------------------
| 0 | SELECT STATEMENT | | 1 | | | 3 (100)|
| 14 |00:00:00.01 | 7 |
| 1 | TABLE ACCESS FULL| EMP | 1 | 14 | 532 | 3 (0)| 00:00:
01 | 14 |00:00:00.01 | 7 |
--------------------------------------------------------------------------------
------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$1 / EMP@SEL$1
--//實際上的執行計劃遠比上面看到的複雜.為什麼不自己簡單設定一下環境.再上傳結果.無語...實際上包括我的同事也是一樣....
--//我自己使用vim,利用一個宏解決這個問題.我一般寫宏先記錄按鍵,然後執行,這樣不容易出錯.最好這些按鍵不要包含方向鍵使用hjkl代替.
<ESC>:j!<CR>jdd<ESC>
--//注:這裡<ESC>表示<ESC>按鍵輸入如下,啟動宏記錄:
qj
--//然後打入上面按鍵,最後按q結束.
--//打入:register j看到如下:
:register j
--- Registers ---
"j ^[:j!^Mjdd^[
--//然後計算要重複的次數,很簡單選中vim提示裡面有選中的行數除以3就是重複此時.我這裡是6次,直接輸入6@j,看到效果如下:
--------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers |
--------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | | 3 (100)| | 14 |00:00:00.01 | 7 |
| 1 | TABLE ACCESS FULL| EMP | 1 | 14 | 532 | 3 (0)| 00:00:01 | 14 |00:00:00.01 | 7 |
--------------------------------------------------------------------------------------------------------------------
--//可以發現還是有點點瑕疵.不過基本ok了,自己再修改一下ok.
--//我後來看tanelpoder的blog,連結也提到類似問題:
http://blog.tanelpoder.com/2010/01/18/sometimes-things-are-easy-part-1-how-to-fix-wrapped-execution-plan-text/
--//他的解決方式是:
$ cat /tmp/x | awk '{ printf "%s", $0 ; if (NR % 3 == 0) print } END { print }'
--//很少用.我自己還是使用我的方法處理類似問題.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2669603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190111]執行計劃bitmap and.txt
- [20210926]並行執行計劃疑問.txt並行
- [20190111]執行計劃走位與.txt
- [20230130]toad看執行計劃注意.txt
- [20181120]toad看真實的執行計劃.txt
- [20181201]奇怪的INDEX SKIP SCAN執行計劃.txtIndex
- [20231210]執行計劃與繫結變數.txt變數
- 執行計劃-1:獲取執行計劃
- [20230921]為什麼執行計劃不再awr中.txt
- [20190720]12cR2顯示執行計劃.txt
- [20221104]執行計劃一樣Plan hash value不同.txt
- [20210114]toad檢視真實執行計劃問題.txt
- [20210119]看執行計劃可以使用hash_value.txt
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- MySQL執行計劃MySql
- SYBASE執行計劃
- MySQL 執行計劃MySql
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- [20240313]toad gather_plan_statistics執行計劃相關問題.txt
- [20210205]toad檢視真實執行計劃問題3.txt
- MySQL執行計劃解析MySql
- mysql explain 執行計劃MySqlAI
- explain執行計劃分析AI
- mysql執行計劃explainMySqlAI
- oracle 固定執行計劃Oracle
- Oracle sql執行計劃OracleSQL
- 執行計劃執行步驟原則
- 【SQL_PLAN】Oracle 透過檢視sql_plan 格式化執行計劃SQLOracle
- 20200909]為什麼執行計劃不是出現hash join semi.txt
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- mongodb執行計劃解釋MongoDB
- 檢視 OceanBase 執行計劃
- MySQL執行計劃解析(四)MySql
- 讀懂MySQL執行計劃MySql
- Explain執行計劃詳解AI
- PostgreSQL執行計劃變化SQL
- explain 查詢執行計劃AI
- mysql explain 執行計劃詳解MySqlAI