在SQL tuning中,不良写法导致SQL执行效率比比皆是。最近的SQL tuning中一个外部连接写法不当导致过SQL执行时间超过15分钟左右此即
为一例。...t.sal>=2000
-->从下面的返回结果可知,t.sal>=2000子句并没有过滤掉sal小于2000的记录
SQL> select empno,ename,sal,dname from t...子句中
-->此时仅仅t.sal>=2000且符合t.deptno=d.deptno的记录被返回(结果与所期望一致)
SQL> select empno,ename,sal,dname from...子句中的情形)的执行计划
SQL> select empno,ename,sal,dname from t left join dept d
2 on t.deptno=d.deptno... 2、此例中由于将谓词信息放到ON子句中,在数据量庞大的表(百万行)连接中,则该写法导致过多的物理和逻辑I/O,使得中间结果集庞大
3、谓词信息放到ON子句中同时也导致索引失效
4、尽可能的在满足需求的情况下减小中间结果集