1 标量子查询
1 标量子查询可以修改为outer join进行优化。
2 对于IN EXSTS,从原理上来讲IN操作先进行子查询操作,再进行主查询操作。
EXISTS操作是先进行主查询操作,再到子查询中进行过滤.
当子查询表数据量巨大,且索引条件不好,则不宜对子查询使用distinct条件检索,则不宜用IN操作。
当外部表数据量巨大,而子查询数据量较少且索引条件良好,则不宜用EXISTS操作。
在子查询中NOT IN语句执行一个内部的排序和合并,无论哪种情况NOT IN 都是效率低下的,为了避免使用not in,可以改写成外连接或者not exists