mysql> explain select1unionallselect1;table列 这一列表示 explain 的一行正在访问哪个表。 当 from 子句中有子查询时,table列是 格式,表示当前查询依赖 id=N 的查询,于是先执行 id=N 的查询。当有 union 时,UNION RESULT 的 table 列的值为<union1,2>,1和2表示参与 union 的 select 行id。type列...
test2表是UNION关键字之后的查询,所以被标记为UNION,test1是最主要的表,被标记为PRIMARY。而<union1,2>表示id=1和id=2的表union,其结果被标记为UNION RESULT。 UNION 和UNION RESULT一般会成对出现。 此外,回答上面的问题:id列的值允许为空吗? 如果仔细看上面那张图,会发现id列是可以允许为空的,并且是在SELE...
Using sort_union(...), Using union(...), Using intersect(...):这些函数说明如何为index_merge联接类型合并索引扫描。Using index for group-by:类似于访问表的Using index方式,Using index for group-by表示MySQL发现了一个索引,可以用来查 询GROUP BY或DISTINCT查询的所有列,而不要额外搜索硬盘访问实际的...
当然我们也可以通过设置参数将派生表优化给关闭。 5)union:紧跟union后面的select table字段列:表示访问的是哪一个表 type列:表示MYSQL决定如何查找表中的行。 他有七个级别,依次从最优到最差分别为:system>const>eq_red>red>range>index>ALL 一般来说,最好达到ref级别,实在达不到,range级别也不差。 1)NULL:...
这个select-type 值是为使用子查询而定义的。下面的SQL语句提供了这个值: n1ql mysql>EXPLAINSELECTp.*->FROMparent p->WHEREp.idNOTIN(SELECTc.parent_idFROMchild c); 5. UNION 这是UNION 语句其中的一个SQL 元素。 6. UNION RESULT 这是一系列定义在UNION 语句中的表的返回结果。当select_type 为这个...
UNION:若第二个select出现在UNION之后,则被标记为UNION,若UNION包含在form子句的子查询中,外层select将被标记为DERIVED UNION RESULT:从UNION表获取结果的select 3、table:显示这一行数据是关于哪张表的 4、type:访问类型排列,显示查询使用了何种类型,从最好到最差依次是:system->const->eq_ref->ref->range->ind...
不包含UNION以及子查询,例如select * from users where id =1 PRIMAPY: 表示次查询是是最外层的查询有子查询的时候展示。explain select* from users wherephone=(select phone from order where id = 10); UNION: 表示次查询是UNION的第二或查询方式,查询语句中存在union关键字explain select * from ...
explain select 1 union all select 2 fromdual; MySQL5.7及以后同样做了优化 【table列】 table列的结果表明当前行对应的select正在访问哪个表。当查询的<from>子句中有子查询时,table列是 <derivedN> 格式,表示当前的select依赖 id=N结果行对应的查询,要先执行 id序号=N 的查询。当存在 union 时,UNION RESUL...
SIMPLE 简单的select查询,sql语句中没有使用UNION和子查询PRIMARY 查询中若包含任何复杂的子部分,最外层查询则被标记为PrimaryDERIVED 在FROM列表中包含的子查询,把结果放在临时表里。SUBQUERY 在SELECT或WHERE列表中包含了子查询DEPEDENT SUBQUERY 在SELECT或WHERE列表中包含了子查询,子查询基于外层UNCACHEABLE SUBQUERY ...
simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个 primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的select_type即为primary。 且只有一个 union:union连接的两个select查询,第一个查询是dervied派生表,除了第一个表外,第二个以后的表...