Explain
使用方法:explain sql语句;
分析包含信息:
1、id:
(1)select查询的***,包含一组数字,表示查询中执行select子句或操作表的顺序
(2)值的三种情况:
①id相同:执行顺序由上到下
②id不同: 如果是子查询,id序号会递增,id越大优先级越高,优先被执行
③id相同不同,同时存在:
可以认为是一组,从上往下顺序执行;
在所有组中,id值越大,优先级越高,越先执行;
deriverd衍生出来的虚表;
总结:相同,顺序走;不同,看谁大;大的先执行;
2、select _type
(1)作用:查询类型,主要用于区别普通查询,联合查询,子查询等复杂查询
(2)结果值:
①SIMPLE:简单select查询,查询中不包含子查询或者UNION
②PRIMARY:查询中包含子查询,最外层查询则被标记为primary
③
④DERIVED:在from列表中包含的子查询被标记为derived(衍生)
把结果放在临时表中
⑥UNION:
⑦UNION RESULT:从union表获取select,两个union合并的结果集在最后
3、table :显示这一行的数据是关于哪张表的
4、partitions:如果查询是基于分区表的话,会显示查询访问的分区
5、type :访问类型排列
6、possible_keys
7、key
8、key_len
9、ref
10、rows
11、
未完待续…