explain分析SQL查询

以一个简单的explain语句为例:

它的结果是这样的

 

 这里依次分析这些项:

id:没什么好说的,查询的id

select_type:查询类型,因为没有子查询所以是simple

table:表名,若有别名则使用别名,不经过表则为null

partitions:分区表命中的分区,若未分区则为null

type:重点关注的一项。

system、null、const表示效率最优,接近常数级,返回一行数据或者空

eq_ref:出现在要连接过个表的查询计划中,驱动表只返回一行数据,且这行数据是第二个表的主键或者唯一索引,且必须为not null,唯一索引和主键是多列时,只有所有的列都用作比较时才会出现eq_ref
ref:不像eq_ref那样要求连接顺序,也没有主键和唯一索引的要求,只要使用相等条件检索时就可能出现,常见与辅助索引的等值查找。或者多列主键、唯一索引中,使用第一个列之外的列作为等值查找也会出现,总之,返回数据不唯一的等值查找就可能出现。
 
fulltext:全文索引,在mysql中优先级较高
range:索引范围扫描
index:索引全表扫描
 
all:全表扫描数据文件
 
 
possible_keys:可能是用的索引
key:索引
key_len:索引长度
 
ref:若是常数等值查询此处为const,若是关联查询此处为关联列,若使用函数等显示为func
rows:行数
filtered:满足条件的查询百分比
extra:一般有以下几种
using index:覆盖索引,不需要回表,效率高
using where:进行检索,不读取不符合条件的数据,效率尚可
using filesort:排序时无法使用索引,效率低
using temporary:使用了临时表,效率低
 
 
 
 

 

转载于:https://www.cnblogs.com/sh1296/p/11022652.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值