mysql explain执行计划 参数解读

本文详细解读了MySQL中的EXPLAIN命令用于查看执行计划的各项参数,包括id、select_type、table、type、key_len、ref、rows和Extra等,帮助优化慢SQL。通过对这些参数的理解,可以更好地分析查询性能,提升数据库效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

explain使用

  随着业务逻辑的复杂化和数据量的扩展,慢sql的问题就会出现,此时需要通过查看执行计划来对一些慢sql进行优化,下文是对explain的各个参数的解读。

参数解读

  在sql语句前面加上explain关键字,即可查看执行计划。如:
explain select instrument_id from quote_kline_1day where instrument_id= 'cu1802'

以下为各个参数字段名:
+—-+————-+——-+——-+——————-+———+———+——-+——+——-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+—-+————-+——-+——-+——————-+———+———+——-+——+——-+

1,id :select查询的序列号

2,select_type:select查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。
有以下这几个value:
a.SIMPLE:查询中不包含子查询或者UNION
b.查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY
c.在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY
d.在FROM列表中包含的子查询被标记为:DERIVED(衍生)
e.若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在 FROM子句的子查询中,外层SELECT将被标记为:DERIVED
f.从UNION表获取结果的SELECT被标记为:UNION RESULT

3,table :输出的行所引用的表。

4,type :联合查询所使用的类型,表示MySQL在表中找到所需行的方式,又称“访问类型”。
有以下value:
ALL: 全表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值