天天看點

Mysql:性能分析以及Explain工具的使用

---恢複内容開始---

1.介紹

Explain工具是用來分析sql語句性能的工具,他會顯示出Mysql内部解析語句的狀況

使用方法:

explain+sql語句

例如

Mysql:性能分析以及Explain工具的使用

2.字段分析

一、ID字段

ID字段代表的是在mysql内部加載的順序,遵循如下幾個規則:

ID相同的,從上往下順序執行,ID不同的,較大的先執行  

二、select_type

代表此條語句查詢的類型

Mysql:性能分析以及Explain工具的使用
Mysql:性能分析以及Explain工具的使用

三、table 關于哪張表的

四、type

代表的是通路類型,一共有如下幾種值

Mysql:性能分析以及Explain工具的使用

好壞排名如下:

Mysql:性能分析以及Explain工具的使用

一般需要優化到range或者ref(100w資料及以上)

system:隻有一條記錄,最理想情況,基本不可能出現

const:掃描了索引,一次九完成的,

qe_ref:唯一性的索引掃描

ref:非唯一性的索引掃描,傳回比對的多行

range:使用了between and之類的語句,縮小了範圍

index;周遊了索引樹z

五、possible_key 和 key

possible_key 是代表mysql分析後認為可能會用到的索引,這個不關鍵

關鍵的是key這個字段,它代表了實際所用到的索引。

六、ref

表示那些值被用于索引列的查找

七、rows

總共查詢多少行

八、extra 額外資訊,比較重要的一些資訊

1.using filesort 出現這個說明mysql引用自己的排序,也就是沒有按照索引來

2.using temprary 出現這個說明mysql先建立了一張臨時表,然後再在這個臨時表裡操作,再删除這個表,性能較差

3.using index 使用了索引,性能不錯