oracle 执行计划的 特殊情况
前面章节中描述的规则适用于绝大部分的执行计划。虽然如此,还是有一些特殊情况。通常可以通过观察操作获知执行计划做了哪些事情,它们应用的谓词,它们是在哪些表上执行的以及它们的运行时行为(尤其是Starts和A-Rows列)。接下来的小节介绍了从众多可能的情况中挑选出来的三个例子。注意以下例子都是对special_cases.sql脚本生成输出的摘录。
1.select子句中的子查询
这个例子展示了在select子句中包含一个子查询的查询语句的执行计划是什么样子的。查询及其执行计划如下所示:
SELECT ename, (SELECT dname FROM dept WHERE dept.deptno = emp.deptno)