explain 使用说明

explain 使用说明

参考文献

官方文档

返回行字段说明

字段含义说明
id查询中的序号数字越大代表优先级越高先执行,数字相同在前面的先执行
select_type查询的类型可以包含很多值,代表不同的查询,可以查看参考文献
table输出行所引用的表的名称也可能是<union*M,N> 并集查询;<derivedN>派生表查询;<subqueryN*>子表查询
partitions数据记录的分区(null) 表示非分区表
type*联接类型(查找数据的大概范围)最优到最差依次是system>const>eq_ref>ref>range>index>ALL;得保证查询达到range级别,最好是ref
possible_keys可能使用的索引列此列是NULL表示没有相关索引,可以在where条件中加一个索引进行优化
key实际使用的索引
key_len实际使用的索引长度可以大概算出来使用索引的多少部分,有一个计算原则(依据索引的类型)
ref索引关联 的字段条件可能是一个常量或者关联的字段列
rows查询结果可能的行数预估值,并不代表结果就是这么多行
filtered按表条件过滤的表行的估计百分比最大值100,表示没有过滤
Extra其他的额外信息

type的具体含义解释

system:表里只有一条记录

const:相当于常量查询

eq_ref:主键索引、唯一索引查询

ref:二级索引(普通索引)

range:范围查询> in between and 等等

index:查全索引数据,一般不带where条件的情况

ALL:全表扫描,扫描聚簇索引所有叶子节点的全量数据。

key_len计算规则

  • 字符串

    char(n) n字节长度

    varchar(n) 如果编码是utf-8,则长度3n+2字节,加的2个字节用来存储字符串长度

  • 数值类型

    tinyint:1字节

    smallint:2字节

    int:4字节

    bigint:8字节

  • 时间类型

    date:3字节

    timestamp:4字节

    datetime:8字节

    索引的最大长度是768字节,当字符串过长时,mysql会做一个类似左前缀索引的处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值