查看MySQL优化器执行计划命令explain

Explain是什么

Explain也称“执行计划”,使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句,可以用来分析你的查询语句或是表结构的性能瓶颈

Explain的用法

语法

Explain+SQL语句

执行完后会返回执行计划,如下图所示

在这里插入图片描述

执行计划的各字段的解释

idlistdescriptive
1idselect查询的序列号,包含一组数字,表示查询中执行select子句的顺序
2select_type显示查询的类型
3table查询的表
4type显示查询使用了何种类型
5possible_key显示可能应用在这张表中的索引,一个或多个
6key实际使用的索引
7key_len表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度
8ref显示索引的哪一列被使用了,如果可能的话,是一个常数
9rows根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数
10Extra额外的重要信息

partitions是分区的意思

id

有三种情况

  • id相同,执行顺序由上至下
  • id不同,如果是子查询,id的序号会递增
  • id相同和不同同时存在

id值越大,优先级越高,越先被执行

select_type
idselect_typedescription
1SIMPLE不包含任何子查询或union等查询,也就是基本查询
2PRIMARY包含子查询最外层查询显示PRIMARY
3SUBQUERY在select或where子句中包含的查询
4DERIVEDfrom字句中包含的查询
5UNION出现在union后的查询语句中
6UNION RESULT从UNION中获取结果集
type
idtypedescription
1system单表单行数据查询
2const通过主键和unique索引查询一条数据
3eq_ref唯一索引扫描一条记录
4ref非唯一索引,一个索引有多条记录
5rang索引范围查询
6index全表索引查询
7ALL全表扫描查询
从最好到最差依次是:

system>const>eq_ref>ref>range>index>ALL

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小橙子1026

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值