1. 程式人生 > >通過EXPLAIN分析低效SQL的執行計劃

通過EXPLAIN分析低效SQL的執行計劃

all 訪問類 from 進行 得到 一個 mysq rom imp

explain select * from film where rating>9\G;

技術分享

select_type 表示select的類型
SIMPLE 代表簡單表,不用表連接或子查詢
PRIMRY 主查詢(外層查詢)
UNION UNION中的第二個或者後面的查詢語句
SUBQUERY 子查詢中的第一個SELECT
table 輸出結果集的表

possible_keys

查詢中可能用到的索引
key 查詢中實際用到的索引
key_len 索引的長度
rows 掃描的行數
type 訪問類型

從左到右,性能由最差到最好

ALL index range ref eq_ref const,system NULL

ALL:全表掃描

index:索引全掃描

range: 索引的範圍掃描 用於<,<=,>,>=,between等操作

ref:使用非唯一索引掃描或者唯一索引的前綴掃描

eq_ref:使用唯一索引掃描,多表鏈接中使用primary key或者unique key作為關聯條件

const/system:單表中只有一個匹配行,查詢速度快,根據主鍵或者唯一索引進行的查詢

NULL:mysql不用訪問表或者索引,直接能夠得到結果

通過EXPLAIN分析低效SQL的執行計劃