第四节 子查询优化
1、结论
在实际开发中,能够不用子查询就尽量不用。
2、实际测试
①测试子查询效果
添加索引:
create index idx_ceo on dept(ceo);
分析语句:
explain SELECT *
FROM emp a
WHERE a.id NOT IN
(SELECT b.ceo FROM dept b WHERE b.ceo IS NOT NULL);
分析结果:

②测试关联查询效果
分析语句:
explain SELECT a.*
FROM emp a
LEFT JOIN dept b
ON a.id = b.ceo;
分析结果:

③综合对比
- 从执行顺序来说:关联查询的 id(1,1) 比 子查询的 id(1,2) 要好
- 从查询的类型来说:ref 比 index 要好两个级别
