mysql 的explain关键字解析

本文深入解析MySQL的EXPLAIN命令,详细介绍了SQL执行计划的各项参数,包括ID、select_type、table、type、possible_key、key、key_len、ref、rows及Extra等,帮助读者理解SQL查询的优化策略。

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

执行explain+sql会出现一张表,该表包括很多一下列:

1.id
这个id不是唯一的。
1.1 id相同就从上往下执行;
1.2 id不同,数字大的先执行;
1.3 id相同又不用;
2.select_type
2.1 simple 只涉及到一张表的查询;
2.2 primary 复杂查询的最外层查询;
2.3 derived 在from后面的子查询;
2.4 subquery 在select或者where后面的子查询;
2.5 union 出现在union后的select语句;
2.6 union all 从union表获取的结果;
3.table
显示这一行的数据是哪张表的
4.type
4.1 system 单表单条记录
4.2 const 单表多记录,但是where过滤后只可能出现一条数据,就是唯一索引字段等于多少;
4.3 eq_ref
4.4 ref where后面使用到了非唯一索引字段,这个字段等于多少,没有指定范围;
4.5 range 使用到了索引(不管唯一还是非唯一),并且这个索引是有范围的;
4.6 index 只查建立了索引的字段;
4.7 all 全表扫描;
5. possible_key
若查询的字段建立了索引,则该索引会显示出来;
6.key
实际上使用到的索引;
7.key_len
使用到的索引占的字节数;
8.ref
显示索引的哪一列被使用了,也有可能是一个常数;
9.rows
mysql在查询时扫描的行数;
10.Extra
10.1 using filesort 坏事(九死一生)
10.2 using temporary 坏事(必死无疑)
10.3 using index 好事
10.4 using where
10.5 using join buffer 好事
10.6 impossible where where后面的条件恒为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值