mysql之explain详解
mysql之explain各个字段的详细意思:
字段 |
含义 |
select_type |
分为简单(simple)和复杂 |
type |
all : 即全表扫描 index : 按索引次序扫描,先读索引,再读实际的行,结果还是全表扫描,主要优点是避免了排序。因为索引是排好的。 range:以范围的形式扫描 ref:非唯一索引访问(只有普通索引) eq_ref:使用唯一索引查找(主键或唯一索引) const:常量查询(id = 1) system:系统查询 null:优化过程中就已经得到结果,不在访问表或索引 |
possible_keys |
可能用到的索引 |
key |
实际用到的索引 |
ken_len |
索引字段最大可能使用长度 |
ref |
指出对 key 列所选择的索引的查找方式 当 key 列为 NULL ,即不使用索引时,此值也相应的为 NULL |
rows |
估计需要扫描的行数 |
Extra |
显示以上信息之外的其他信息 Using index:覆盖索引(Covering Index),即通过索引就能返回结果,无需访问表。 Using where:服务器从存储引擎收到行后再进行“后过滤”. Using temporary:使用到临时表 Using filesort:若查询所需的排序与使用的索引的排序一致,因为索引是已排序的,因此按索引的顺序读取结果返回,否则,在取得结果后,还需要按查询所需的顺序对结果进行排序 |