在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致会导致同一SQL出现不同执行计划. --查看数据库里面有多个执行计划的SQL语句的SQL_ID SELECT SQL_ID, COUNT(1) AS PLAN_NUM FROM V$SQL GROUP …
优化前:表连接使用merge SQL> alter session set statistics_level=all; Session altered. SQL> select e.sal,d.dname from (select deptno,sum(sal) sal from emp group by deptno) e,dept d where d.deptno=e.deptno; SAL DNAME ---------- -------------- 8750 ACCOUNTING 1…