檢測SQL的性能與優化

檢測SQL的性能

>>>explain SQL;

explain?SQL

>>>explain SQL?\G;

explain SQL?\G;

SELECT_TYPE

simple:不含子查詢

subquery:非from子查詢

derived:from型子查詢

primary:含子查詢或派生查詢

Table

顯示查詢的表名或者是表的別名

Possible_key

可能用到的索引

KEY

最終用到的索引

key_len

用到的索引長度

TYPE

是索引查詢的方式

all:表示掃描到了所有的數據,也就是說沒有用到任何索引。

index:表示掃描到了所有到所有節點,也就是說。

range:表示查詢時,能根據索引做范圍的掃描。

ref:表示通過索引可以直接引用到某些數據行。

從上往下,SQL性能遞增。

ROWS

估計要掃描多少行數據

EXTRA

index:用到了索引覆蓋,效率非常高

use where:指光靠索引定位不了,還需要wehre判斷一下。

use temporary:指用上了臨時表,group by 與 order by不同列時,或者group by、order by其它表的列時。

use filesort:文件排序(文件可能在磁盤,也可能在內存)。

查詢磁盤的臨時狀態

>>>show status like '%tmp%';

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容