【mysql】【06】mysql explian

1.explain 作用

通过id、table可以看出表的读取顺序,(小表驱动大表)
通过type字段查看索引的使用好坏情况
通过possible_keys和key 可以看是否使用了索引,使用了那些索引
通过extra 查看是否使用了Using_filesort 或者Using temporary

2.explain的字段 id select_type table type possible_keys key key_len ref rows extra

2.1 id

id 是和table一起使用的,表示查询中执行select子句或操作表的顺序
id相同,table执行顺序由上至下
id不同,如果是子查询,id的序号会递增,id值由大到小执行

2.2.select_type

1.simple 简单select 查询,查询中不包含子查询或者union
2.primary 包含复制查询是,最后被查询的表
3.subquery 子查询
4.derived 在from后面包含的子查询被标记为子derived(衍生) mysql 会递归执行这些子查询,把结果放在临时表中
5.union
6.union result

2.3.type

使用索引的类型
All 没有使用索引
system>const>eq_ref>ref>range>index>All
大部分情况都是 ref,range,index
ref 用到了索引返回了唯一的值
range 用到了索引返回了多个值

2.4possible_keys key

possible_keys 可能会使用到的索引
key 实际使用到的索引
key_len 索引占用的字节数,同样查询结果的情况下,值越小越好
ref 使用了索引上的那些列,或者是常量
rows 查询表使用的行数

2.4.extra

Using_filesort 排序没有用到索引的就会使用文件外排序
Using temporary 使用临时表,经常使用在orderby 和group by中
Using index 这种情况比较好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值