EXPLAIN執行計畫

2021-08-10 02:38:36 字數 1001 閱讀 3536

create

table employee

( eid int auto_increment,

ename varchar(32),

age int,

salary float,

mid int,

primary

key(eid),

key(ename, age)

);create

table manager

( mid int,

mname varchar(32),

primary

key(mid)

);

1.type為all,表示掃瞄全表

explain select * from employee;
2.type為index,表示掃瞄全索引

explain select id from employee;
3.type為const,表示查詢結果為乙個常量

explain select * from employee where id = 5;
4.type為range,表示掃瞄乙個範圍。常見於between and、<、>,in等查詢

explain select * from employee where id between 10

and20;

5.type為eq_ref,表示唯一索引掃瞄

explain select * from employee,  manager where employee.mid = manager.mid;
6.type為ref,表示非唯一索引掃瞄。組合索引最左匹配

explain select * from employee where ename = "lisi";

explain執行計畫

sql執行計畫 id 用來看查詢了幾次,或者有幾個select。但是這個不一定準確,因為 select from a inner join b on a.id b.id 這個語句有乙個select,但是實際上查詢了兩個表。因此還是要看查詢了幾張表 包括衍生表 type 這個字段用來描述本次查詢的效能...

explain執行計畫

id id列的編號是select的序號,有幾個select就有幾個id,並且id的順序是按select出現的順序增長的。id列越大執行優先順序越高,id相同則從上往下執行,id為null最後執行 select type 表示對應行是簡單還是複雜查詢 簡單查詢,查詢不包含子查詢和union prima...

MySQL 執行計畫EXPLAIN

mysql 提供了乙個 explain 命令,它可以對 select 語句進行分析,並輸出 select 執行的詳細資訊,以供開發人員針對性優化。使用explain這個命令來檢視乙個這些sql語句的執行計畫,檢視該sql語句有沒有使用上了索引,有沒有做全表掃瞄,這都可以通過explain命令來檢視。...