1. 物化表
2. 物化表转连接
3. 子查询转为半连接
4. 半连接的适用条件
5。 不适用半连接的情况
in 和 exist
当前MySQL8.0版本可以”毫无顾忌“地写子查询,对于子查询的优化已经相当完备
《MySql技术内幕:SQL编程》:书中描述的确实有很多DBA认为EXISTS比IN的执行效率更高,可能是当时优化器还不是很稳定和足够优秀,但是目前绝大数的情况下,IN和EXISTS都具有相同的执行计划。
有的说大小表的,有的说in和exists具有相同的执行计划的,可能是版本问题。
《高性能MySQL(第三版)》p224:Mysql将in操作转变为exists操作