I have the following plan to explain, but I don't know how interperent it

Hello all;

I have the explain plan following below obtained pl/sql developer, but I don't know how to interperent or use it for my performance problem
PLAN_TABLE_OUTPUT          
           
----------------------------------------------------------------------------------------          
| Id  | Operation                       |  Name                | Rows  | Bytes | Cost  |          
----------------------------------------------------------------------------------------          
|   0 | SELECT STATEMENT                |                      |     1 |   108 |   932 |          
|   1 |  SORT GROUP BY                  |                      |     1 |   108 |   932 |          
|*  2 |   TABLE ACCESS BY INDEX ROWID   | OPERATION            |     1 |    34 |    12 |          
|   3 |    NESTED LOOPS                 |                      |     1 |   108 |   929 |          
|   4 |     NESTED LOOPS                |                      |     1 |    74 |   917 |          
|*  5 |      HASH JOIN                  |                      |     1 |    60 |   916 |          
|*  6 |       TABLE ACCESS FULL         | WORK_ORDER           |  1302 | 46872 |   787 |          
|*  7 |       TABLE ACCESS FULL         | SERIALIZATION_TRACE  |   129K|  3044K|   123 |          
|*  8 |      TABLE ACCESS BY INDEX ROWID| PART                 |     1 |    14 |     1 |          
|*  9 |       INDEX UNIQUE SCAN         | SYS_C004302          |     1 |       |       |          
|* 10 |     INDEX RANGE SCAN            | RCLX_OPERATION_3     |     1 |       |    11 |          
----------------------------------------------------------------------------------------          
           
Predicate Information (identified by operation id):          
---------------------------------------------------          
           
   2 - filter("O"."RESOURCE_ID" LIKE 'TEST%')          
   5 - access("W"."BASE_ID"="PT"."WORKORDER_BASE_ID" AND           
              "W"."LOT_ID"="PT"."WORKORDER_LOT_ID" AND "W"."SPLIT_ID"="PT"."WORKORDER_SPLIT_ID" AND 
              "W"."SUB_ID"="PT"."WORKORDER_SUB_ID")          
   6 - filter("W"."TYPE"='W' AND "W"."PART_ID" IS NOT NULL AND "W"."PART_ID"<>'RMA' AND           
              "W"."PART_ID"<>'REWORK' AND "W"."CLOSE_DATE">=TO_DATE('2010-01-01 00:00:00',           
              'yyyy-mm-dd hh24:mi:ss') AND "W"."CLOSE_DATE"<=TO_DATE('2010-12-31 00:00:00',           
              'yyyy-mm-dd hh24:mi:ss'))          
   7 - filter("PT"."SERIAL_NUMBER"<>'N/A')          
   8 - filter("P"."PLANNER_USER_ID"='CCA')          
   9 - access("W"."PART_ID"="P"."ID")          
       filter("P"."ID"<>'RMA' AND "P"."ID"<>'REWORK')          
  10 - access("W"."SUB_ID"="O"."WORKORDER_SUB_ID" AND           
              "W"."BASE_ID"="O"."WORKORDER_BASE_ID" AND "W"."LOT_ID"="O"."WORKORDER_LOT_ID" AND 
              "W"."SPLIT_ID"="O"."WORKORDER_SPLIT_ID")          
       filter("W"."BASE_ID"="O"."WORKORDER_BASE_ID" AND           
              "W"."LOT_ID"="O"."WORKORDER_LOT_ID" AND "W"."SPLIT_ID"="O"."WORKORDER_SPLIT_ID")     
           
Note: cpu costing is off          
          

Here are a few slides that I use when I present to you how to read explain plans:
http://www.morganslibrary.org/Pres/lad/cloug_1_xplan.PDF

|*  6 |        TABLE ACCESS FULL         | WORK_ORDER           |  1302 | 46872 |   787 |
|*  7 |       TABLE ACCESS FULL         | SERIALIZATION_TRACE  |   129K|  3044K|   123 |

Essentially, your question is here. you read a lot of lines to return alone. Do you need them all? To get them you do full table scan on the two tables? An index would help?

and yes I am voluntarily is not giving you the answers but rather to point you in the right direction to find it yourself.

On the one hand, I don't know your version, your SQL, or what indexes exist.

Tags: Database

Similar Questions

Maybe you are looking for