explain
explain 的作用是分析查询语句。它的字段有:
- id:标识符
- select_type:查询的类型(simple)
- table:输出结果集的表
- partitions:匹配的分区
- type:表的连接类型。从好到坏的顺序是:(const > eq_ref >) ref > range > index > ALL。
- ref:通过普通索引查询,并且使用的等号查询。
- range:索引的范围查找(>=、<、in 等)。
- index:全索引扫描。
- All:全表扫描
- possible_keys:查询时,可能使用的索引
- key:实际使用的索引
- key_len:使用的索引字段的长度
- ref:列与索引的比较
- rows:估计要检查的行数
- filtered:按表条件过滤的行百分比(全查到的话,就显示为100)
- Extra:附加信息(using index 表示查询时不需要回表查询,直接通过索引就可以获取查询的数据)。需要观察是否有一些影响性能的指标,比如 using filesort,它在排序时无法使用索引时就会出现。