MySQL-Explain详解

Explain是MySQL提供的一种分析SQL执行计划的工具,它可以帮助开发者理解查询的执行过程,包括id、select_type、table、partitions、type、possible_keys、key、key_len、ref、rows和Extra列的内容,从而优化查询性能。通过对Explain结果的分析,可以识别全表扫描、索引使用情况、是否使用临时表和文件排序等问题,进而提升SQL查询效率。
摘要由CSDN通过智能技术生成

Explain介绍

在select语句之前增加explain关键字,执行后MySQL就会返回执行计划的信息,而不是执行sql。但如果from中包含子查询,MySQL仍会执行该子查询,并把子查询的结果放入临时表中。

Explain中的列

① id列

id列的编号是select的序列号,有几个select就有几个id,并且id是按照select出现的顺序增长的,id列的值越大优先级越高,id相同则是按照执行计划列从上往下执行,id为空则是最后执行。

② select_type列

表示对应行是简单查询还是复杂查询。

1)simple:不包含子查询和union的简单查询

2)primary:复杂查询中最外层的select

3)subquery:包含在select中的子查询(不在from的子句中)

用如下图展示primary和subquery类型

4)derived:包含在from子句中的子查询。mysql会将查询结果放入一个临时表中,此临时表也叫衍生表。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值