Re: how to read this execution plan

From: Ron Crisco <ron.crisco_at_method-r.com>
Date: Sat, 27 Mar 2010 23:49:43 -0500
Message-ID: <2c5e62d71003272149k17970952r9ab635e0012d61e7_at_mail.gmail.com>



Alex,

The execution plan is executed top down, starting with the first row source operation with no children. (It doesn't start at the deepest level, which is what you seem to be saying.)

So in this case, the plan accesses tables/indexes in this order: 4, 8, 11, 14, 17, 20, 21. The other row source operations are performed in a rollup fashion, thinking of each of the other RSO as a parent, then that RSO is executed after all of its children are completed. So the final rollup steps are the 2, 1, 0. So the complete order would like: 4, 8, 7, 6, 11, 10, 14, 13, 17, 16, 20, 19, 21, 18, 15, 12, 9, 5, 2, 1, 0



| Id | Operation | Name


| 0 | SELECT STATEMENT |
| 1 | SORT AGGREGATE |
|*  2 |   HASH JOIN RIGHT OUTER          |

| 3 | VIEW |
| 4 | INDEX FAST FULL SCAN | D_TERMINAL_ID_WID_UI
|* 5 | HASH JOIN RIGHT OUTER |
| 6 | VIEW |
| 7 | BITMAP CONVERSION TO ROWIDS |
| 8 | BITMAP INDEX FAST FULL SCAN| D_PXTR_ADDRESS_IDX
|* 9 | HASH JOIN RIGHT OUTER |
| 10 | VIEW |
| 11 | TABLE ACCESS FULL | D_PRTR_USER_AGENT
|* 12 | HASH JOIN RIGHT OUTER |
| 13 | VIEW |
| 14 | TABLE ACCESS FULL | D_PRTR_HOST
|* 15 | HASH JOIN RIGHT OUTER |
| 16 | VIEW |
| 17 | INDEX FAST FULL SCAN | D_SERVICE_IP_ADDR_PK
|* 18 | HASH JOIN RIGHT OUTER |
| 19 | VIEW |
| 20 | INDEX FAST FULL SCAN | D_EEII_ADDRESS_LOOKUP_UI
| 21 | TABLE ACCESS FULL | MSNS_HTTP_REJECTED
-------------------------------------------------------------------- Ron -- http://www.freelists.org/webpage/oracle-l
Received on Sat Mar 27 2010 - 23:49:43 CDT

Original text of this message