explain各列的解釋

2021-08-16 00:11:13 字數 1462 閱讀 7046

idselect識別符。這是select的查詢序列號

select_typeselect型別,可以為以下任何一種:

table輸出的行所引用的表

type聯接型別。下面給出各種聯接型別,按照從最佳型別到最壞型別進行排序:

possible_keys指出mysql能使用哪個索引在該表中找到行

key顯示mysql實際決定使用的鍵(索引)。如果沒有選擇索引,鍵是null。

key_len顯示mysql決定使用的鍵長度。如果鍵是null,則長度為null。

ref顯示使用哪個列或常數與key一起從表中選擇行。

rows顯示mysql認為它執行查詢時必須檢查的行數。多行之間的資料相乘可以估算要處理的行數。

filtered顯示了通過條件過濾出的行數的百分比估計值。

extra該列包含mysql解決查詢的詳細資訊

not exists:mysql能夠對查詢進行left join優化,發現1個匹配left join標準的行後,不再為前面的的行組合在該錶內檢查更多的行。

range checked for each record (index map: #):mysql沒有發現好的可以使用的索引,但發現如果來自前面的表的列值已知,可能部分索引可以使用。

using filesort:mysql需要額外的一次傳遞,以找出如何按排序順序檢索行。

using index:從只使用索引樹中的資訊而不需要進一步搜尋讀取實際的行來檢索表中的列資訊。

using temporary:為了解決查詢,mysql需要建立乙個臨時表來容納結果。

using where:where 子句用於限制哪乙個行匹配下乙個表或傳送到客戶。

using sort_union(...), using union(...), using intersect(...):這些函式說明如何為index_merge聯接型別合併索引掃瞄。

using index for group-by:類似於訪問表的using index方式,using index for group-by表示mysql發現了乙個索引,可以用來查 詢group by或distinct查詢的所有列,而不要額外搜尋硬碟訪問實際的表。

Mysql中explain各字段的解釋

explain的用法 explain select 返回結果 下面對上面截圖中的字段一一解釋 1 id select 查詢序列號。id相同,執行順序由上至下 id不同,id值越大優先順序越高,越先被執行。2 select type 查詢資料的操作型別,其值如下 3 table 顯示該行資料是關於哪張...

explain檢視sql語句返回的各列含義

explain返回各列的含義 table 顯示這一行的資料是關於哪張表的 type 這是重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const eq reg ref range index和all possible keys 顯示可能應用在這張表中的索引。如果為空,沒有可能的索引。ke...

explain解釋計畫

執行explain有如下指標項 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img meutyuon 1611477902029 d typoraimages image 20210117172347746.png select查詢的序列號,包含一組數字,表示查詢中執行select子...