在MySQL Explain闭包的结果中,select_type列表示了查询的类型。 查询类型包括以下几种: SIMPLE:简单查询,不包含子查询或UNION操作。 PRIMARY:主查询,即外部查询中的第一个查询。 SUBQUERY:子查询,作为主查询中的子查询出现。 DERIVED:派生表,作为FROM子句中的子查询表。 UNION:UNION操作的...
Explain:select_type:SIMPLE简单类型select_type:PRIMARY最外层查询类型,SUBQUERY子查询类型<derived2>的这个2指的是ID为2的t3这个表衍生出来的虚表。 table: 显示这行数据是关于哪张表的type: 、 因为我们前面创建的索引是create index col1_col2_col3 t1(col1 ...
DEPENDENT SUBQUERY:子查询中首个SELECT,但依赖于外层的表(如果有多个子查询存在) 重点解释 子查询的查询方式依赖于外面的查询结果.用这个例子就是,先进行子查询外部的查询,得到一个结果集,.然后这个结果的每一行在跟select子查询的结果集进行匹配,也就是说,外部结果集的每一行都要关联内部结果集一次 (5)DERIVED/M...
select_type列的值标明查询的类型: 1)simple:表明当前行对应的select是简单查询,不包含子查询和union 2)primary:表明当前行对应的select是复杂查询中最外层的 select 3)subquery:表明当前行对应的select是包含在 select 中的子查询(不在 from 子句中) 4)derived:表明当前行对应的select是包含在 from 子句中的子查询。
select_type:查询类型 PRIMARY: 包含子查询SQL中的 主查询 (最外层) SUBQUERY:包含子查询SQL中的 子查询 (非最外层) simple: 简单查询(不包含子查询、union) derived: 衍生查询(使用到了临时表) a.在from子查询中只有一张表 explain select cr.cname from ( select * from course where tid in (1,2) )...
Simple 简单select(不使用union或子查询) Primary 最外层的select Union Union中第二个或之后的select语句 Dependent union Union中第二个或之后的select语句取决于外面的查询 Union result Union的结果 Subquery 子查询的第一个select Dependent subquery 子查询的第一个select,取决于外面的查询 Derived 衍生表(from子句...
与simple一样,select_type为primary的单位select查询也只存在1个,位于查询最外侧的select单位查询的select_type为primary3.union由union操作联合而成的单位select查询中,除第一个外,第二个以后的所有单位select查询的select_type都为union。union的第一个单位select的select_type不是union,而是DERIVED。它是一个临时表,...
select_type 代表查询的类型,主要是用于区别普通查询、联合查询、子查询等的复杂查询。 1、SIMPLE SIMPLE 代表单表查询; 2、PRIMARY 查询中若包含任何复杂的子部分,最外层查询则被标记为 Primary。 3、DERIVED 在FROM 列表中包含的子查询被标记为 DERIVED(衍生),MySQL 会递归执行这些子查询, 把结果放在临时表里。
select_type表示查询的类型,主要是为了区分普通查询、子查询、联合查询等复杂查询。分为以下几种类型: (1)SIMPLE 简单的select查询,查询中不包含子查询或者UNION。 (2)PRIMARY 查询中若包含任何复杂的子查询,那么最外层的查询被标记为PRIMARY。 (3)DERIVED ...
EXPLAINSELECT*FROM(SELECTkey1,COUNT(*)AScFROMs1GROUPBYkey1)ASderived_s1WHEREc>1; 1. 当查询优化器在执行包含子查询的语句时,选择将子查询物化之后与外层查询进行连接查询时,该子查询对应的select_type 属性就是MATERIALIZED ...