select_type 为simple ,究竟是否有连接查询呢?
来源:6-5 SQL语句性能分析一
慕后端2434332
2025-01-21
select_type 为simple。为何前面说不需要union,后面又说有连接查询时,外层的查询为simple
写回答
1回答
-
大周
2025-01-22
explain会将我们写的一条完整的SQL进行拆分。 拆分的依据是这个SQL语句当中会有多少个部分返回数据。例如select * from a where a.id in (select id from b ),这个时候其实explain就会知道这包含了子查询,有两个部分都返回了数据。如果只有一个部分返回数据,就是simple。
第二种情况,连接查询。 例如select * from a join b on a.id = b.id ,这个时候其实explain也会进行拆分,认为a是外层,b不是。explain也会显示多条,a是simple,b不是,b具体是啥还得看后边的复杂度。
这里其实不用研究的太深,只要知道有这么回事,然后如果工作里真用到了,自己整理一个表格,对应着表格去看一下就行。要不然一段时间不看记不住,其实也没必要记。
00
相似问题