![](https://s5-media.51cto.com/ost/pc/static/noavatar.gif)
回复
MATERIALIZED
物化子查询是Mysql对子查询的优化,第一次执行子查询时会将结果保存到临时表,物化子查询只需要执行一次。
比如上述DERIVED就是物化的一种体现,与之对应的就是DEPENDENT,每次子查询都需要重新调用。
这个结果无法直观的看出来,可以用FORMAT=JSON命令查看materialized_from_subquery字段。
table
显示表名,从上述的一些图中可以观察到UNION_RESULT和DERIVED显示的表名都有一些自己的命名规则。
比如UNION_RESULT产生的是<unionM,N>,DERIVED产生的是。
partitions
数据的分区信息,没有分区忽略就好了。
type
关联类型,决定通过什么方式找到每一行数据。以下按照速度由快到慢。
system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALL。
system&const
这通常是最快的查找方式,代表Mysql通过优化最终转换成常量查询,最常规的做法就是直接通过主键或者唯一索引查询。
而system是const的一个特例(只有一行数据的系统表),随便找一张系统表,就插入一条数据就可以看到system了。
文章转自公众号:艾小仙