MySQL explain 最全解釋

2021-10-11 14:30:45 字數 567 閱讀 8845

explain命令用來檢視sql語句的執行計畫,檢視該sql語句有沒有使用上了索引,有沒有做全表掃瞄

①表的讀取順序。(對應id)

②資料讀取操作的操作型別。(對應select_type)

③哪些索引可以使用。(對應possible_keys)

④哪些索引被實際使用。(對應key)

⑤表直接的引用。(對應ref)

⑥每張表有多少行被優化器查詢。(對應rows)

1)explain extended:會在 explain  的基礎上額外提供一些查詢優化的資訊。緊隨其後通過 show warnings 命令可以 得到優化後的查詢語句,從而看出優化器優化了什麼。

額外還有 filtered 列,是乙個半分比的值,rows * filtered/100 可以估算出將要和 explain 中前乙個表進行連線的行數(前乙個表指 explain 中的id值比當前表id值小的表)。

mysql> explain extended select * from film where id = 1;

+--

mysql explain欄位說明

explain列的解釋 id 查詢的序列號 select type select查詢的型別,主要是區別普通查詢和聯合查詢 子查詢之類的複雜查詢。table 所訪問的資料庫中表的名稱。type 這是重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const eq reg ref range ...

Mysql explain 執行計畫

使用方法,在select語句前加上explain就可以了 如 explain select from test1 explain列的解釋 table 顯示這一行的資料是關於哪張表的 type 這是重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const eq reg ref range ...

MySql Explain解釋說明

explain解釋說明 explain顯示了mysql如何使用索引來處理select語句以及連線表。可以幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就可以了 如 explain select surname,first name form a,b whe...