执行计划中的步骤不是按照编号顺序执行的,Oracle首先执行树形图中作为叶子的步骤(如3、5、6)。然后逐层执行父步骤。具体顺序为:

1. 执行步骤3,逐行将结果返回给步骤2。

2. 对步骤3的每一行,执行步骤5,将ROWID返回给步骤4。

3. 执行步骤4,将结果返回给步骤2。

4. 执行步骤2,将步骤3和步骤4的一行合并,返回给步骤1。

5. 执行步骤6,如果有结果,返回给步骤1。

6. 执行步骤1,如果有步骤6返回的行,将步骤2的行返回给用户。