MYSQL性能分析之explain 之select_type字段案例分析
1. SIMPLE
表示不需要UNION操作或者不包含子查询的简单select查询,有连接查询时,外层的查询是simple,且只有一个
2. PRIMARY
一个需求union操作或者含有子查询的select,位于最外层的查询,select_type即为primary,且只有一个
3. union
union连接的两个select查询
4. union result
包含union的结果集,在union和union all语句中,因为它不需要参与查询,所以id字段为null,如下最后结果集,部分sql版本已经省略此步骤
5. dependent union
出现在union和union all 语句中,但是这个查询要受到外部查询的影响
6. dependent subquery
与dependent union 类似,表示外部查询依赖这个子查询
7. subquery
除了from字名中包含的子查询外,其他地方出现的子查询都有可能是subquery
8. derived
from子句中出现的子查询,也叫做派生表,其他数据库中可能叫做内联视图或嵌套select,部分sql高版本已经省略此步骤
9. materialization
物化通过将子查询结果任务一个临时表来加快查询执行速度,正常来说是常驻内存,下次查询会再次引用临时表