mysql查询优化之explain使用(二)

explain -- possible_keys

mysql 推测可能使用的索引

expiain -- key

实际使用到的索引(当只查询索引的时候并且没有条件,那么将会出现,可能没索引,实际使用了索引)

expiain -- key_len

key_len表示索引使用的字节数,注意其显示的值为索引字段的最大可能长度,并非实际长度,是根据表定义计算出来的,同样精度下,(也就是对应的数据库字段大小要合适)该值越小越好。

expiain -- ref

表示使用的索引其数据来源是从哪来的,常见的有两种,

一 是常量const 表示用户输入的值

二 是引用了其他表的其他字段,结构是 数据库名.表名.字段名

       

expiain -- rows

根据表统计信息及索引选用情况,大致估算出找到所需要的记录需要读取的行数。

expiain -- extra

不适合在其他列中显示但十分重要的额外信息,这边也是只分析常见的类型

  • Using filesort 

文件内排序,说明mysql会对数据使用一个外部的索引排序,而不是按照表内的顺序进行读取,当出现这种情况一定要优化  

    

  • Using temporary

产生了临时存储结果的临时表,常见于group by,该种sql也一定要优化

    

  • Using index

查询结果是索引结果,不需要扫描表,这是覆盖索引,其具体就是,select的数据列,只用从索引中读取就能够取得,不必需要读取数据行,mysql可以利用索引直接返回select列表中的字段,而不需要根据索引再次读取数据文件。

  • Using where

去表里面查找数据

    

  • Using join buffer

查询的时候使用了 连接缓存,具体情况,mysql查询优化之explain(一)种有出现

  • Impossible WHERE

where查询条件永远不能满足

    

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值