mysql sql優化

mysql查詢性能優化mysql


explain  分析sql查詢的詳細信息sql


id,select_type,table,type,possible_keys,key,key_len,ref,rows,extra性能優化


id: 查詢表的順序,id數值大表的先查詢。性能

select_type: mysql中select的查詢分爲優化

1.simple  簡單查詢spa

2.subquery 子查詢排序


table: 查詢的表名,若是是連表查詢則會出現兩條查詢詳細信息。索引

type : 訪問類型  all index range ref eq_ref const nullit

1.all 全表掃描,掃描整張table

2.index 先掃描索引,再全表掃描,避免了排序,由於索引是順序的。

3.range 必定範圍掃描索引,再按索引結果去表中找。

4.ref 非惟一索引訪問

5.eq_ref 惟一索引(主鍵索引)訪問

6.const 惟一索引(主鍵索引)訪問時,匹配的只有一條數據。

7.null 在優化的過程當中就已經獲得結果,好比min(index)  max(index)


possible_keys: 可能用到的索引

keys: 實際用到的索引

key_len : 索引字段最大可能使用長度,單位是字節

ref:對key索引使用的查找方式 const func null 具體字段  //待查證資料

Extra :

using index 使用了覆蓋索引,直接從索引中獲取數值

using where 使用了where條件過濾

Using temporary 使用了臨時表  好比distinct

Using filesort 沒有使用索引的排序順序

Impossible WHERE noticed after reading const table 查詢條件不可能,直接返回空

Select tables optimized away 直接優化

mysql查詢語句優化

1.一個複雜的查詢拆分紅多個簡單查詢

2.切分查詢,一次大查詢分紅屢次小查詢分批次查詢。

3.分解關聯查詢,

相關文章
相關標籤/搜索