听说你对explain 很懂?(二)

发布于 2022-6-10 15:56
浏览
0收藏

 

MATERIALIZED

物化子查询是Mysql对子查询的优化,第一次执行子查询时会将结果保存到临时表,物化子查询只需要执行一次。

比如上述DERIVED就是物化的一种体现,与之对应的就是DEPENDENT,每次子查询都需要重新调用。

这个结果无法直观的看出来,可以用FORMAT=JSON命令查看materialized_from_subquery字段。

 听说你对explain 很懂?(二)-开源基础软件社区
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。

听说你对explain 很懂?(二)-开源基础软件社区

system&const

这通常是最快的查找方式,代表Mysql通过优化最终转换成常量查询,最常规的做法就是直接通过主键或者唯一索引查询。

听说你对explain 很懂?(二)-开源基础软件社区而system是const的一个特例(只有一行数据的系统表),随便找一张系统表,就插入一条数据就可以看到system了。

听说你对explain 很懂?(二)-开源基础软件社区

文章转自公众号:艾小仙

分类
标签
已于2022-6-10 15:56:08修改
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐