Mysql的执行计划各个参数详细说明

执行计划各个参数的说明

1、id 主要是用来标识sql的执行顺序,如果没有子查询,一般来说id只有一个,执行顺序也是从上到下

2、select_type 每个select子句的类型

  a:  simple 查询中不包含任何子查询或者union

  b:  primary 查询中包含了任何复杂的子部分,最外层的就会变为primary

  c:  subquery 在selecth或者where中包含了子查询

  d:  derived  在from中包含了子查询

  e: union 如果第二个select 出现在union之后,则被标记为union,如果union包含在from子句的子查询中,外层select会被标记成derived

  f:union  result 从 union表中获取结果的select

3、type 是指mysql在表中找到所需行的方式,也就是访问行的类型。从a开始效率上升

  a :  (All   全表扫描)      b   (index 会根据索引树进行遍历)  c (rang 根据索引范围扫描,返回匹配值域的行)  d:(ref 非唯一性索引扫描,返回匹配某个单独值的所有行。一般是指多列的唯一索引中的某一列)       e (eq_ref 唯一性索引扫描。表中只有一条与之匹配) f (const、system 主要针对查询中有常量的情况,如果结果中只有一行,会变成System)  g (null即不走表 也不走索引)

4、possible_keys  预估计了mysql能为当前查询选择的索引。这个字段是完全独立于执行计划中输出的表的顺序。意味着在实际查询中,可能用不到这些索引。如果该字段为null则意味着没有可使用的索引。这个时候你可以考虑为where后面的字段加上索引

5、key 这个字段表示mysql真实使用的索引。如果mysql优化过程中没有加索引,可以强制加索引

6、key_len 顾名思义就是索引长度字段。表示mysql使用的索引的长度

7、ref 这个字段一般是指一些常量用于选择过滤

8、rows  预估结果集的条数,可能不一定完全准确

 

转载于:https://www.cnblogs.com/hanxue112253/p/8276571.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值