在ORACLE数据库中,执行计划中的步骤顺序并不是按照它们编号的顺序来执行的。ORACLE首先执行作为叶子节点出现的步骤(例如步骤3、5、6)。每个步骤返回的行被称为下一个步骤的行源。然后,ORACLE按照特定的顺序执行父步骤:首先执行步骤3,并逐行将结果返回给步骤2。对于步骤3返回的每一行,ORACLE依次执行步骤5,并将ROWID结果返回给步骤4。ORACLE继续执行步骤4,并将结果行返回给步骤2。最后,ORACLE执行步骤2,将来自步骤3和步骤4的结果行返回给步骤1。如果有结果行,ORACLE最后执行步骤6,并将其返回给步骤1。如果步骤6返回行,ORACLE将再次返回来自步骤2的行给发出SQL语句的用户。