MySQL 中,EXPLAIN 执行计划的extra

文章详细解释了MySQL查询执行过程中涉及的一些关键概念,如覆盖索引、WHERE过滤、临时表、排序操作、连接缓存等,帮助理解查询优化的各个方面。

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

extra 列中可能包含的值及其含义如下:

- Using index:表示查询使用了覆盖索引,即查询的所有列都可以从索引中获取,而不需要回表查询数据行。
- Using where:表示查询使用了 WHERE 子句过滤数据。
- Using temporary:表示查询需要创建临时表来存储中间结果集。
- Using filesort:表示查询需要对结果集进行排序操作,而且无法使用索引完成排序。
- Using join buffer:表示查询使用了连接缓存。
- Impossible where:表示查询的 WHERE 子句条件不可能为真,因此查询将返回空结果集。
- Select tables optimized away:表示查询中的某些表可以被优化掉,因为它们没有被查询所使用。
- Distinct:表示查询使用了 DISTINCT 关键字去重。
- Fulltext:表示查询使用了全文索引。
- Range checked for each record:表示查询使用了索引范围扫描。
- Using index condition:表示查询使用了索引条件过滤数据。
- Using where with pushed condition:表示查询使用了 WHERE 子句条件过滤数据,并且这些条件可以在索引中完成。
- Using join buffer (Block Nested Loop):表示查询使用了块嵌套循环连接缓存。
- Using index for group-by:表示查询使用了索引完成 GROUP BY 操作。
- Using index for order-by:表示查询使用了索引完成 ORDER BY 操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值