mysql explain extra_MySQL的EXPLAIN的EXTRA

MySQL查询优化器执行查询的过程中对查询计划的重要补充信息。(1)using where

使用了where子句来过滤元组

42c5a77bad221c322771270ad0a0cbf5.png(2)using temporary

用临时表保存中间结果,常用于GROUP BY 和 ORDER BY操作中

f3b250873023c2645d8bb8b977a798ff.png

72c075a68127c7a50bc4b43cb35f882d.png

5c834def7f4f6953fc40ca59e785320d.png(3)using filesort

使用文件完成排序操作,这是可能是ordery by,group by语句的结果,这可能是一个CPU密集型的过程,可以通过选择合适的索引来改进性能,用索引来为查询结果排序。

ada7e8604c1aca288f66a00da7c4d0ef.png(4)using index

不需要读取数据文件,从索引树(索引文件)中即可获得信息。如果同时出现using where,表明索引被用来执行索引键值的查找,没有using where,表明索引用来读取数据而非执行查找动作。

27f16f5ac4f1e64d72b4464f13898770.png(5)using join buffer

使用了连接缓存:

Block Nested Loop,连接算法是块嵌套循环连接

7f273e64c75a9b4ddf2ebdd9a98e4c03.png

2fbceb10cdc8d80b6a02c26a22b97a5b.png

Batched Key Access,连接算法是批量索引连接(6)impossible where

where子句的值总是false,不能用来获取任何元组(7)select tables optimized away

在没有GROUP BY子句的情况下,基于索引优化MIN/MAX操作,或者对于MyISAM存储引擎优化COUNT(*)操作,不必等到执行阶段再进行计算,查询执行计划生成的阶段即完成优化。

7f44e1acea1b9736fb51435f98dd3199.png(8)distinct

优化distinct操作,在找到第一匹配的元组后即停止找同样值的动作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值