explain 是判断sql执行语句的信息,是select语句执行过程中表现如何连接和连接的顺序。
explain select * from 表名
这个是查询表的执行计划。
id:代表语句中的执行顺序。 表示查询中执行的select语句或是操作表的顺序,表的id愈大越先执行,如果两个都是1,那么就按照从上往下开始执行。
select_type :代表的是select的类型。
type:连接的类型,性能由好到差的连接类型是:NULL,system,const,eq_ref,range,index,all
possible_keys:在这张表可能会用的索引,一个或者多个。
key:代表实际用的索引,如果没有就显示null.
key_len:表示索引使用的字节数,该值为索引字段最大可能长度,而并非实际使用长度,在不损失精度的前提下,长度越短越好。
ref:是子查询返回的类型
rows:mysql认为必须要执行查询的行数,在innodb引擎中的表,他是一个估计值,可能不准确。
filtered:表示返回结果的行数占需读取行数的百分比,越大越好。
Extra:额外的信息,这表示他这一行没显示的数据,将会在这里额外的显示出来。