【mysql explain】记录 一

2023年在太原,有次面试时,小伙问我explain,还问索引用什么树实现。怕我经历伪造的是不是,不过确实没用过,麻麻的

一 作用

不实际执行sql,而是展示查询计划

二 内容

explain select ....

​​​​​​​

id 每个select一行,值越大越优先,值相同则从上到下

select_type 类型,  simple-简单查询 primary复杂查询的外层   subquery子查询 derived在from的子查询 union 在union后的select

table   表别名

partitions    

type   访问类型 system>const(唯一键与常量比较)>eq_ref(唯一键用于关联条件)>ref(普通索引或部分唯一索引,用于条件或关联)>range(in、between、=条件使用索引)>index(扫描索引)>all(扫描全表),一般到range

possible_keys    可能用哪些索引

key   用了哪个索引

key_len  用了索引哪列

ref   索引用的常量或列名

rows   预估要读的行数

filtered    

Extra

总结

explain(执行计划)包含的信息十分的丰富,着重关注以下几个字段信息。

①id,select子句或表执行顺序,id相同,从上到下执行,id不同,id值越大,执行优先级越高。

②type,type主要取值及其表示sql的好坏程度(由好到差排序):system>const>eq_ref>ref>range>index>ALL。保证range,最好到ref。

③key,实际被使用的索引列。

④ref,关联的字段,常量等值查询,显示为const,如果为连接查询,显示关联的字段。

⑤Extra,额外信息,使用优先级Using index>Using filesort(九死一生)>Using temporary(十死无生)。

着重关注上述五个字段信息,对日常生产过程中调优十分有用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值