mysql explain分析工具

explain是mysql中的一个关键字可以分析sql查询的是如何执行的。

1
explain sql语句

  • id

    • id代表sql执行的顺序,id值越大越被优先执行。
    • id相同代表顺序执行。
  • select_type

    • simple 简单查询,不包含子查询和union查询
    • primary 包含子查询,最外层就是primary
    • subquery 在SELECT或WHERE列表中包含了子查询
    • derived 在FROM列表中包含的子查询被标记为DERIVED(衍生),MySQL会递归执行这些子查询,把结果放在临时表中
    • union 若第二个SELECT出现在UNION之后,则被标记为UNION:若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED
    • union result 从UNION表获取结果的SELECT
  • table

    • 当前查询的表
  • type

    • system 表仅有一行数据
    • const 一次索引就找到结果
    • eq_ref 关联查询使用了唯一索引
    • ref 匹配了多个索引
    • range 扫描了部分索引
    • index 扫描了全表索引
    • all 没有使用索引并且扫描了全表
      1
      
      system > const > eq_ref > ref > range > index > all
      
  • possible_keys 提示使用哪个索引会在该表中找到行

  • keys 使用哪些索引,没使用为null

  • key_len 索引使用的字节数,值越小越好。

  • ref 显示索引的哪一列被使用

  • rows sql执行需要读取的行数,值越小越好

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值