Using index for group-by:数据访问和 Using index 一样,所需数据只须要读取索引,当Query 中使用GROUP BY或DISTINCT 子句时,如果分组字段也在索引中,Extra中的信息就会是 Using index for group-by。 Using temporary:当 MySQL 在某些操作中必须使用临时表时,在 Extra 信息中就会出现Using temporary 。主要常见于 ...
Not exists 当我们使用左(外)连接时,如果WHERE子句中包含要求被驱动表的某个列等于NULL值的搜索条件,而且那个列又是不允许存储NULL值的,那么在该表的执行计划的Extra列就会提示Not exists额外信息 EXPLAIN select * from t_user t1 LEFT JOIN t_user2 t2 on t1.username = t2.username where t2.id is null...
EXPLAIN SELECT * FROM s1 INNER JOIN s2 ON s1.common_field = s2.common_field common_field是一个没有索引的列 not exists:在表连接的时候,当where条件中被驱动表的某个列等于null,而这个列又有非空约束的时候,Extra就会展现not exists EXPLAIN SELECT * FROM s1 LEFT JOIN s2 on s1.key1 = s2.key1...
如果执行计划的Extra列出现了Using intersect(…)提示,说明准备使用Intersect索引合并的方式执行查询,括号中的**…** 表示需要进行索引合并的索引名称;如果出现Using union(…)提示,说明准备使用Union索引合并的方式执行查询,出现了Using sort_union(…)提示,说明准备使用Sort-Union索引合并的方式执行查询。 EXPLAINSELECT*...
见课件说明EXPLAINSELECT*FROMs1INNERJOINs2ONs1.common_field=s2.common_field;#当我们使用左(外)连接时,如果`WHERE`子句中包含要求被驱动表的某个列等于`NULL`值的搜索条件,#而且那个列又是不允许存储`NULL`值的,那么在该表的执行计划的Extra列就会提示`Not exists`额外信息EXPLAINSELECT*FROMs1LEFTJOINs2ONs1....
关于mysql中explain的那些事儿 explain语法 有两种用法: 1.EXPLAINtbl_name 2.EXPLAIN [EXTENDED] SELECTselect_options 为了更好的说明它,我们需要建两张表,下面的语句用于创建一张测试用的订单表: CREATE TABLE `t_order` ( `order_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单ID',...
MySQL.5.7及更高版本,explain默认就会展示filtered Extra 展示有关本次查询的附加信息,取值如下: 1 Child of 'table' pushed join@1 此值只会在NDB Cluster下出现。 2 const row not found 例如查询语句SELECT ... FROM tbl_name,而表是空的 3 Deleting all rows ...
EXPLAIN作为MySQL的性能分析神器,读懂其结果是很有必要的,然而我在各种搜索引擎上竟然找不到特别完整的解读。都是只有重点,没有细节(例如type的取值不全、Extra缺乏完整的介绍等)。 所以,我肝了将近一个星期,整理了一下。这应该是全网最全面、最细致的EXPLAIN解读文章了,下面是全文。
extra列 这个列可以显示的信息非常多,有几十种,常用的有 distinct : 在select部分使用了distinc关键字 no tables used : 不带from字句的查询或者Fromdual查询 使用not in形式子查询或notexists运算符的连接查询,这种叫做 反连接 。即,一般连接查询是先查询内表,再查询外表,反连接就是先查询外表,再查询内表。
Extra 该列包含MySQL解决查询的详细信息 Distinct:MySQL发现第1个匹配行后,停止为当前的行组合搜索更多的行。 Select tables optimized away MySQL根本没有遍历表或索引就返回数据了,表示已经优化到不能再优化了 Not exists:MySQL能够对查询进行LEFT JOIN优化,发现1个匹配LEFT JOIN...