ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Explain各列的含义

Explain各列的含义

原创 Linux操作系统 作者:markzy5201190 时间:2012-06-03 15:38:28 0 删除 编辑

EXPLAIN各列的含义:

idMysql Query Optimizer选定的执行计划中的序列号(查询序列号)
select_typeselect查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。
table所引用的表。
type显示的是访问类型,结果值从好到坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > range > index > ALL

说明:

  • const 读常量,只读一次,一般是主键
  • eq_ref 最多只会有一个匹配结果,一般是通过主键或者唯一索引来访问
  • ref 这个连接类型只有在查询使用了不是惟一或主键的键或者是这些类型的部分(比如,利用最左边前缀)时发生。对于之前的表的每一个行联合,全部记录都将从表中 读出。这个类型严重依赖于根据索引匹配的记录多少—越少越好
  • unique_subquery 子查询中返结果字段组合是主键或唯一索引
  • range 索引范围扫描,使用 > 或 < 时发生
  • index 全索引扫描
  • ALL 全表扫描,这一般比较糟糕,应该尽量避免
possible_keys指出MySQL能使用哪个索引在该表中找到行。如果是空的,没有相关的索引。
这时要提高性能,可通过检验WHERE子句,看是否引用某些字段,或者检查字段不是适合索引。
key显示MySQL实际决定使用的键。如果没有索引被选择,键是NULL
ref显示哪个字段或常数与key一起被使用。
rows通过收集系统信息估算出来的结果记录条数
extra查询中,每一步会进行的额外信息

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-731797/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Mysql tips
请登录后发表评论 登录
全部评论

注册时间:2012-04-05

  • 博文量
    82
  • 访问量
    454216