mysql - explain

时间:2019-11-07
本文章向大家介绍mysql - explain,主要包括mysql - explain使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

explain + 查询语句,会返回mysql处理sql语句的分析结果

EXPLAIN 
SELECT t1.t_id FROM table1 t1 WHERE t1.t_id = (SELECT MIN(t_id) FROM table2)
UNION 
SELECT t3.t_id FROM table3 t3

结果:

 1.id: 表的读取顺序

代表优先级,数字越大,先被加载

2.select_type : 数据读取操作的操作类型

simple  简单查询,没有复杂结构

primary  有子查询时,最外层的是primary

subquery   子查询

derived      衍生的,一般会出现在from 后面跟select 时(嵌套查询)。

union                   union查询后面的table会被标记为union

union result         union 查询的结果

3. table:   表名

4. type:访问类型

性能从好到差依次是:

1. system(系统类型:单行数据,const的特例,等于系统表,基本见不到)   = =不过我测试的时候就算一条数据也达不到system。。。

2. const(常量类型:利用 主键,或者union index)

3. eq_ref (唯一索引 (union index) 扫描,只有一条记录匹配。)

4. ref,   (单行非唯一索引 (index) 扫描)

5. range,

6. index(索引查询),

7. ALL(全表扫描)

ref 或者 range 级别已经可以满足大部分需求。

5. possible_keys 

6. key 

7. key_len 

8. ref 

9. rows 

10. Extra

原文地址:https://www.cnblogs.com/clamp7724/p/11811632.html