mysql EXPLAIN 字段解释及说明

在这里插入图片描述
[引用链接:https://blog.csdn.net/why15732625998/article/details/80388236]
(https://blog.csdn.net/why15732625998/article/details/80388236)

id:语句的执行数据,值越大,约优先执行,值相同,从上到下执行
select_type: 描述查询语句的类型,例如select的简单语句,有子查询的语句等等
table:当前查询的表
type:执行的 当前表 索引的类型 system > const > eq_ref > ref > range > index > all
一般来说,得保证查询至少达到range级别,最好能达到ref。

possible_type:表示可能用到的索引,就是表里有的索引,并不一定用到
key:当前查询命中的索引
key_len:将命中的索引字段长度加在一起,约大 表明命中索引越多,联合索引key判断中了几个索引
ref:当前查询关联的字段
rows:当前查询,在当前表影响的行数
extra:

  1. Using filesort:未用索引排序,相当于排序全表扫描了 Using
  2. temporary:使用了用临时表保存中间结果,MySQL在对查询结果排序时使用临时表。常见 于排序order by和分组查询group by。
  3. Using index(发财了):表示相应的select操作中使用了覆盖索引(Covering
    Index),避免访问了表的数据行,效率不错。如果同时出现using
    where,表明索引被用来执行索引键值的查找;如果没有同时出现using where,表明索引用来读取数据而非执行查找动作。
  4. Using wher:表明使用了where过滤
  5. Using join buffer:表明使用了连接缓存,比如说在查询的时候,多表join的次数非常多,那么将配置文件中的缓冲区的join buffer调大一些。
  6. impossible where
    where子句的值总是false,不能用来获取任何元组。例如:SELECT * FROM t_user WHERE id = ‘1’ and id = ‘2’
  7. select tables optimized
    away:在没有GROUPBY子句的情况下,基于索引优化MIN/MAX操作或者对于MyISAM存储引擎优化COUNT(*)操作,不必等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。
  8. distinct :优化distinct操作,在找到第一匹配的元组后即停止找同样值的动作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值