在sql語句的執行計畫中,包含很多欄位項和很多模組,其不同字段代表了不同的含義且在不同的情形下某些字段、模組顯示或不顯示,下面的描述給出了執行計畫中各字段的含義以及各模組的描述。
執行計畫中各字段的描述
1、基本字段(總是可用的)
id 執行計畫中每乙個操作(行)的識別符號。如果數字前面帶有星號,意味著將在隨後提供這行包含的謂詞資訊
operation 對應執行的操作。也叫行源操作
name 操作的物件名稱
2、查詢優化器評估資訊
rows(e-rows) 預估操作返回的記錄條數
bytes(e-bytes) 預估操作返回的記錄位元組數
tempspc 預估操作使用臨時表空間的大小
cost(%cpu) 預估操作所需的開銷。在括號中列出了cpu開銷的百分比。注意這些值是通過執行計畫計算出來的。
換句話說,父操作的開銷包含子操作的開銷
time 預估執行操作所需要的時間(hh:mm:ss)
3、分割槽(僅當訪問分割槽表時下列字段可見)
pstart 訪問的第乙個分割槽。如果解析時不知道是哪個分割槽就設為key,key(i),key(mc),key(or),key(sq)
pstop 訪問的最後乙個分割槽。如果解析時不知道是哪個分割槽就設為key,key(i),key(mc),key(or),key(sq)
4、並行和分布式處理(僅當使用並行或分布式操作時下列字段可見)
inst 在分布式操作中,指操作使用的資料庫鏈結的名字
tq 在並行操作中,用於從屬執行緒間通訊的表佇列
in-out 並行或分布式操作間的關係
pq distrib 在並行操作中,生產者為傳送資料給消費者進行的分配
5、執行時統計(當設定引數statistics_level為all或使用gather_plan_statistics提示時,下列字段可見)
starts 指定操作執行的次數
a-rows 操作返回的真實記錄數
a-time 操作執行的真實時間(hh:mm:ss.ff)
6、i/o 統計(當設定引數statistics_level為all或使用gather_plan_statistics提示時,下列字段可見)
buffers 執行期間進行的邏輯讀運算元量
reads 執行期間進行的物理讀運算元量
writes 執行期間進行的物理寫運算元量
7、記憶體使用統計
omem 最優執行所需記憶體的預估值
1mem 一次通過(one-pass)執行所需記憶體的預估值
0/1/m 最優/一次通過/多次通過(multipass)模式操作執行的次數
used-mem 最後一次執行時操作使用的記憶體量
used-tmp 最後一次執行時操作使用的臨時空間大小。這個字段必須擴大1024倍才能和其他衡量記憶體的字段一致(比如,32k意味著32mb)
max-tmp 操作使用的最大臨時空間大小。這個字段必須擴大1024倍才能和其他衡量記憶體的字段一致(比如,32k意味著32mb)
SQL SERVER 執行計畫各欄位注釋
set showplan all 使 microsoft sql server 不執行 transact sql 語句。相反,sql server 返回有關語句執行方式和語句預計所需資源的詳細資訊。語法set showplan all 注釋set showplan all 的設定是在執行或執行時設定...
Mysql中各字段的取值範圍
tinyint 128 127 tinyint unsigned 0 255 allint 32768 32767 allint unsigned 0 65535 mediumint 8388608 8388607 mediumint unsigned 0 16777215 int 或 intege...
Mysql中explain各字段的解釋
explain的用法 explain select 返回結果 下面對上面截圖中的字段一一解釋 1 id select 查詢序列號。id相同,執行順序由上至下 id不同,id值越大優先順序越高,越先被執行。2 select type 查詢資料的操作型別,其值如下 3 table 顯示該行資料是關於哪張...