SQL hints

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SQL hints

Laurel
Hi Erman!
I need to create  row  of hints based on explain plan that I have generated in database ( it deleted now, so cannot export profile/outlines/stats etc)
Any help/hints  in this "reverse" engineering ? :)
What I need is this :
--------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                   |                 |  4958 |   459K|  2774 |
|   1 |  SORT ORDER BY                     |                 |  4958 |   459K|  2774 |
|   2 |   FILTER                           |                 |       |       |       |
|   3 |    HASH GROUP BY                   |                 |  4958 |   459K|  2774 |
|   4 |     HASH JOIN RIGHT OUTER          |                 |   579K|    52M|  2746 |
|   5 |      TABLE ACCESS FULL             | LOCATION        | 41141 |   482K|   138 |
|   6 |      HASH JOIN RIGHT OUTER         |                 |   579K|    45M|  2606 |
|   7 |       TABLE ACCESS FULL            | COMPANYCODE     |     5 |    50 |     3 |
|   8 |       HASH JOIN                    |                 |   579K|    40M|  2602 |
|   9 |        NESTED LOOPS                |                 |   579K|    40M|  2602 |
|  10 |         NESTED LOOPS               |                 |       |       |       |
|  11 |          STATISTICS COLLECTOR      |                 |       |       |       |
|  12 |           TABLE ACCESS FULL        | PURCHORDER      | 98641 |  6165K|   481 |
|  13 |          INDEX RANGE SCAN          | IDX_POL_ORDERID |       |       |       |
|  14 |         TABLE ACCESS BY INDEX ROWID| PURCHORDERLINE  |     6 |    54 |  1104 |
|  15 |        TABLE ACCESS FULL           | PURCHORDERLINE  |   662K|  5823K|  1104 |
--------------------------------------------------------------------------------------

current explain plan is this:

|   0 | SELECT STATEMENT                           |                 |       |       |  5367 (100)|          |
|   1 |  SORT ORDER BY                             |                 |     1 |   119 |  5367   (4)| 00:00:01 |
|*  2 |   FILTER                                   |                 |       |       |            |          |
|   3 |    HASH GROUP BY                           |                 |     1 |   119 |  5367   (4)| 00:00:01 |
|*  4 |     HASH JOIN OUTER                        |                 |     1 |   119 |  5365   (4)| 00:00:01 |
|   5 |      NESTED LOOPS                          |                 |     1 |   107 |  4315   (5)| 00:00:01 |
|   6 |       NESTED LOOPS                         |                 |     1 |   107 |  4315   (5)| 00:00:01 |
|   7 |        NESTED LOOPS                        |                 |     1 |    89 |  4314   (5)| 00:00:01 |
|*  8 |         HASH JOIN OUTER                    |                 |     1 |    73 |  4310   (5)| 00:00:01 |
|*  9 |          TABLE ACCESS FULL                 | PURCHORDER      |     1 |    63 |  4296   (5)| 00:00:01 |
|  10 |          TABLE ACCESS FULL                 | COMPANYCODE     |     5 |    50 |    14   (0)| 00:00:01 |
|* 11 |         TABLE ACCESS BY INDEX ROWID BATCHED| PURCHORDERLINE  |     1 |    16 |     3   (0)| 00:00:01 |
|* 12 |          INDEX RANGE SCAN                  | IDX_POL_ORDERID |     1 |       |     2   (0)| 00:00:01 |
|* 13 |        INDEX UNIQUE SCAN                   | SYS_C0012330    |     1 |       |     0   (0)|          |
|* 14 |       TABLE ACCESS BY INDEX ROWID          | PRODUCT         |     1 |    18 |     1   (0)| 00:00:01 |
|  15 |      TABLE ACCESS FULL                     | LOCATION        | 41152 |   482K|  1044   (2)| 00:00:01 |
--------------------------------------------------------------------------------------------------------------

Thx,Laurel
Reply | Threaded
Open this post in threaded view
|

Re: SQL hints

ErmanArslansOracleBlog
Administrator
You have some new objects accessed in your current plan.

INDEX UNIQUE SCAN  on " SYS_C0012330"
TABLE ACCESS BY INDEX ROWID  on "PRODUCT"

These accesses change the execution plan..

Why do they be accessed? Did you check the query with this in mind?