MySQL EXPLAIN 语句的 SELECT TYPE有哪些值

来源:互联网 发布:c语言吧 编辑:程序博客网 时间:2024/05/19 10:42

询中每个select子句的类型,提供了各种表示table列引用的使用方式的类型。

(1)SIMPLE

简单的SELECT语句(不包括UNION操作或子查询操作)


(2)PRIMARY/UNION

PRIMARY:查询中最外层的SELECT(如两表做UNION或者存在子查询的外层的表操作为PRIMARY,内层的操作为UNION)

UNION:UNION操作中,查询中处于内层的SELECT(内层的SELECT语句与外层的SELECT语句没有依赖关系)


(3)DEPENDENT UNION/UNIOIN RESULT

DEPENDENT UNION:UNION操作中,查询中处于内层的SELECT(内层的SELECT语句与外层的SELECT语句有依赖关系)

UNION RESULT:UNION操作的结果,id值通常为NULL


(4)SUBQUERY/DEPENDENT SUBQUERY

SUBQUERY:子查询中首个SELECT(如果有多个子查询存在):


DEPENDENT SUBQUERY:子查询中首个SELECT,但依赖于外层的表(如果有多个子查询存在)


(5)DERIVED/MATERIALIZED

DERIVED:被驱动的SELECT子查询(子查询位于FROM子句)

MATERIALIZED:被物化的子查询


(6)UNCACHEABLE SUBQUERY/UNCACHEABLE UNION

UNCACHEABLE SUBQUERY:对于外层的主表,子查询不可被物化,每次都需要计算(耗时操作)

UNCACHEABLE UNION:UNION操作中,内层的不可被物化的子查询(类似于UNCACHEABLE SUBQUERY)


0 0
原创粉丝点击