[20231226]vim Align外掛使用例子.txt

lfree發表於2023-12-26

[20231226]vim Align外掛使用例子.txt

--//有時候看別人的blog如果遇到執行計劃如下,我會使用vim的Align外掛做一些處理,好久不用有點生疏,做一個記錄:

--//假設複製和貼上的執行計劃如下:
-------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 3 |00:00:00.01 | 9 |
| 1 | INLIST ITERATOR | | 1 | | 3 |00:00:00.01 | 9 |
| 2 | TABLE ACCESS BY INDEX ROWID | T1 | 3 | 3 | 3 |00:00:00.01 | 9 |
|* 3 | INDEX RANGE SCAN DESCENDING| T1_I1 | 3 | 40 | 3 |00:00:00.01 | 6 |
-------------------------------------------------------------------------------------------------

--//首先你給安裝align外掛,具體步驟略.
--//在vim下執行如下,首先使用m命令標識操作範圍,假設使用a,b標識,然後執行:'a,'b Align |
--//處理後結果如下,注因為一些行沒有|這樣第一列有佔用長度很大,要刪除開頭是|前面的全部空格:
--//也可以操作前刪除全部是-開頭的行,最後再補上.
-------------------------------------------------------------------------------------------------
| Id  | Operation                   | Name  | Starts | E-Rows | A-Rows | A-Time      | Buffers |
-------------------------------------------------------------------------------------------------
| 0   | SELECT STATEMENT            |       | 1      |        | 3      | 00:00:00.01 | 9       |
| 1   | INLIST ITERATOR             |       | 1      |        | 3      | 00:00:00.01 | 9       |
| 2   | TABLE ACCESS BY INDEX ROWID | T1    | 3      | 3      | 3      | 00:00:00.01 | 9       |
| * 3 | INDEX RANGE SCAN DESCENDING | T1_I1 | 3      | 40     | 3      | 00:00:00.01 | 6       |
-------------------------------------------------------------------------------------------------

--//存在如下缺點:
--//1.Operation的資訊不再看出層次的顯示風格.看小的執行計劃一般沒有問題大問題,複雜的執行計劃就不行了.
--//2.顯示的資訊預設是左對齊,正常的顯示許多欄位是右對齊.可以使用Aignctrl定義格式:

--//先執行:AlignCtrl rrllrrrrrrrrr (注意大小寫,注意前面2個r接著2個l),再次重複執行:'a,'b Align |.
--//我這裡|作為分隔符號,如果處理的分隔符是空格好使用雙引號包含空格(例子:'a,'b Align " ")
-------------------------------------------------------------------------------------------------
|  Id | Operation                   | Name  | Starts | E-Rows | A-Rows |      A-Time | Buffers |
-------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |       |      1 |        |      3 | 00:00:00.01 |       9 |
|   1 | INLIST ITERATOR             |       |      1 |        |      3 | 00:00:00.01 |       9 |
|   2 | TABLE ACCESS BY INDEX ROWID | T1    |      3 |      3 |      3 | 00:00:00.01 |       9 |
| * 3 | INDEX RANGE SCAN DESCENDING | T1_I1 |      3 |     40 |      3 | 00:00:00.01 |       6 |
-------------------------------------------------------------------------------------------------

--//這樣操作後顯示就美觀了,執行計劃也容易看明白了.

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/267265/viewspace-3001690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章