简单的SELECT语句(不包括UNION操作或子查询操作) (2)PRIMARY/UNION PRIMARY:查询中最外层的SELECT(如两表做UNION或者存在子查询的外层的表操作为PRIMARY,内层的操作为UNION) UNION:UNION操作中,查询中处于内层的SELECT(内层的SELECT语句与外层的SELECT语句没有依赖关系) (3)DEPENDENT UNION/UNIOIN RESULT DEPENDENT UNIO...
在包含 UNION 或者 UNION ALL 的大查询中,如果各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询的 select_type 的值就是 DEPENDENT UNION # DERIVED 对于采用物化的方式执行的包含派生表的查询,该派生表对应的子查询的 select_type 就是 DERIVED # MATERIALIZED 当查询优化器在执行包...
Primary 最外层的select Union Union中第二个或之后的select语句 Dependent union Union中第二个或之后的select语句取决于外面的查询 Union result Union的结果 Subquery 子查询的第一个select Dependent subquery 子查询的第一个select,取决于外面的查询 Derived 衍生表(from子句中的查询) Materialized 物化子查询 Uncach...
EXPLAIN SELECT u.`name` FROM ((SELECT s.id,s.`name` FROM `tb_student` s) UNION (SELECT t.id,t.`name` FROM tb_teacher t)) AS u; 代表是id为2和3的select查询的结果进行union操作。 MATERIALIZED MATERIALIZED表示物化子查询,子查询来自视图。 三、table 表示输出结果集的表的表名,并不一定是真...
EXPLAINSELECTu.`name`FROM((SELECTs.id,s.`name`FROM`tb_student`s)UNION(SELECTt.id,t.`name`FROMtb_teacher t))ASu; <union2,3>代表是id为2和3的select查询的结果进行union操作。 MATERIALIZED MATERIALIZED表示物化子查询,子查询来自视图。 三、table ...
DEPENDENT UNION:union操作中,处于内层的select 查询,但内层的SELECT语句与外层的SELECT语句有依赖关系。 UNION RESULT:union操作的结果,id值通常为NULL 。 (5)UNCACHEABLE SUBQUERY/UNCACHEABLE UNION MATERIALIZED:被物化的子查询 UNCACHEABLE SUBQUERY:对于外层的主表,子查询不可被物化,每次都需要计算(耗时操作)。
这个结果无法直观的看出来,可以用FORMAT=JSON命令查看materialized_from_subquery字段。table 显示表名,从上述的一些图中可以观察到UNION_RESULT和DERIVED显示的表名都有一些自己的命名规则。比如UNION_RESULT产生的是<unionM,N>,DERIVED产生的是。partitions 数据的分区信息,没有分区忽略就好了。type 关联类型,决定...
DERIVED:被驱动的SELECT子查询(子查询位于FROM子句) 例子 select aa from (select * from a) b; MATERIALIZED:被物化的子查询 (6)UNCACHEABLE SUBQUERY/UNCACHEABLE UNION UNCACHEABLE SUBQUERY:对于外层的主表,子查询不可被物化,每次都需要计算(耗时操作) ...
dependent union: UNION中的第二个或后面的SELECT语句,取决于外面的查询 materialized: 物化子查询 uncacheable subquery: 子查询,结果无法缓存,必须针对外部查询的每一行重新评估 uncacheable union: 属于UNCACHEABLE SUBQUERY的第二个或后面的查询 select_type细节比较多,所以单独一节来介绍,具体请查看 explain之select...
EXPLAIN 语句输出的各个列解释 在数据库查询分析中,`EXPLAIN` 语句帮助理解 SQL 查询的执行计划。它详细展示了查询的各个部分如何交互,以达到最终结果。以下是对 `EXPLAIN` 输出中各个列的解释:`select_type`** - 代表每个 `SELECT` 关键字的角色。它说明了查询在整体结构中的位置和作用。`SIMPLE`*...