explain介绍
使用explain关键字可以模拟优化器执行SQL,分析sql查询的性能
返回如下结果

explain出来的信息有12列,分别是id、select_type、table、partitions、type、possible_keys、key、key_len、ref、rows、filtered、Extra
id 查询的序列号
返回结果中执行的优先级,值越大,越先执行,相同时,由上到下顺序执行
select_type 查询的类型
table 查询的表
要查询的表,当 from 子句中有子查询时,table列是 <derivenN> 格式,表示当前查询依赖 id=N 的查询,于是先执行 id=N 的查询。
**partitions 查询的分区 **
type
这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,查找数据行记录的大概范围。
依次从最优到最差分别为:system > const > eq_ref > ref > range > index > ALL
possible_keys
可能用到的索引
key
实际用到的索引
key_len
这一列显示了mysql在索引里使用的字节数,通过这个值可以算出具体使用了索引中的哪些列。
ref
表查找值所用到的列或常量
rows
估计返回的结果集行数
filtered
查询条件过滤的行数的百分比
Extra 额外信息