对于 IN (或者 =ANY)子查询,优化器有这些选择:Semi-join(从一个表中返回的行与另一个表中数据行进行不完全联接查询(查找到匹配的数据行就返回,不再继续查找)),Materialization,EXISTS strategy;
对于 NOT IN(或者 <>ALL)子查询,优化器有这些选择:Materialization,EXISTS strategy;
对于派生表(FROM 子句中的派生表)和 view references,优化器有这些选择:把派生表或者视图合并到外查询块,把派生表或者试图具体化成内部的临时表;
优化方法:通常把子查询转化成连接查询;
浙公网安备 33010602011771号