Re: What index do I need for this query ?
From: <krislioe_at_gmail.com>
Date: Tue, 24 Mar 2009 18:19:06 -0700 (PDT)
Message-ID: <8e42cf6e-0c37-4388-8081-26b62504b20b_at_v1g2000prd.googlegroups.com>
Hi Mr,
| 1 | NESTED LOOPS
|* 2 | HASH JOIN
|* 3 | HASH JOIN
NVL("INVH"."TAXNO",' ')<>' ' AND "INVH"."REGS_CODE">=:REGSFR AND "INVH"."REGS_CODE"<=:REGSTO)
44 - access("SOD"."INV_ID_HDR"(+)="SOB"."INVH_ID")
Date: Tue, 24 Mar 2009 18:19:06 -0700 (PDT)
Message-ID: <8e42cf6e-0c37-4388-8081-26b62504b20b_at_v1g2000prd.googlegroups.com>
Hi Mr,
Below is the plan.
Thank you,
xtanto
Plan hash value: 3690974330
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | ------------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 12 | 5916 | | 81 (5)|00:00:01 |
| 1 | NESTED LOOPS
| | 12 | 5916 | | 81 (5)|00:00:01 |
|* 2 | HASH JOIN
| | 12 | 5484 | | 69 (6)|00:00:01 |
|* 3 | HASH JOIN
| | 12 | 4620 | | 65 (5)| 00:00:01 | | 4 | NESTED LOOPS | | 12 | 4260 | | 62 (5)| 00:00:01 | | 5 | TABLE ACCESS BY INDEX ROWID | LOCATION_GROUPS | 1 | 117 | | 1 (0)| 00:00:01 |00:00:01 |
|* 6 | INDEX UNIQUE SCAN |
LOCATION_GROUPS_PK | 1 | | | 0 (0)| 00:00:01 | | 7 | VIEW | | 12 | 2856 | | 61 (5)| 00:00:01 | | 8 | TEMP TABLE TRANSFORMATION | | | | | | | | 9 | LOAD AS SELECT | LOCATIONS | | | | | |
|* 10 | TABLE ACCESS BY INDEX ROWID |
INVOICE_H | 1 | 92 | | 11 (19)| 00:00:01 | | 11 | BITMAP CONVERSION TO ROWIDS | | | | | | | | 12 | BITMAP AND | | | | | | | | 13 | BITMAP CONVERSION FROM ROWIDS| | | | | | | | 14 | SORT ORDER BY | | | | | | |
|* 15 | INDEX RANGE SCAN |
INVOICE_H_IDX3 | 679 | | | 4 (0)| 00:00:01 | | 16 | BITMAP CONVERSION FROM ROWIDS| | | | | | | | 17 | SORT ORDER BY | | | | | | |
|* 18 | INDEX RANGE SCAN |
INVOICE_H_IDX2 | 679 | | | 5 (0)| 00:00:01 | | 19 | LOAD AS SELECT | LOCATIONS | | | | | | | 20 | HASH GROUP BY | | 12585 | 319K| 1000K| 126 (3)| 00:00:02 | | 21 | TABLE ACCESS FULL | INVOICE_B | 12585 | 319K| | 29 (4)| 00:00:01 | | 22 | UNION-ALL | | | | | | |
|* 23 | HASH JOIN OUTER
| | 8 | 2240 | | 27 (8)| 00:00:01 |
|* 24 | HASH JOIN
| | 8 | 1760 | | 14 (8)| 00:00:01 | | 25 | TABLE ACCESS BY INDEX ROWID | INVOICE_D | 8 | 328 | | 4 (0)| 00:00:01 | | 26 | NESTED LOOPS | | 8 | 1440 | | 6 (0)| 00:00:01 | | 27 | VIEW | | 1 | 139 | | 2 (0)| 00:00:01 | | 28 | TABLE ACCESS FULL | SYS_TEMP_0FD9D66E6_463BB9B | 1 | 92 | | 2 (0)| 00:00:01 |
|* 29 | INDEX RANGE SCAN |
INVOICE_D_FKH | 8 | | | 2 (0)| 00:00:01 | | 30 | TABLE ACCESS FULL | PRODUCTS | 997 | 39880 | | 7 (0)| 00:00:01 | | 31 | VIEW | | 12585 | 737K| | 12 (0)| 00:00:01 | | 32 | TABLE ACCESS FULL | SYS_TEMP_0FD9D66E7_463BB9B | 12585 | 319K| | 12 (0)| 00:00:01 |
|* 33 | FILTER
| | | | | | | | 34 | NESTED LOOPS OUTER | | 3 | 771 | | 30 (4)| 00:00:01 | | 35 | NESTED LOOPS | | 3 | 717 | | 18 (6)| 00:00:01 |
|* 36 | HASH JOIN
| | 3 | 597 | | 15 (7)| 00:00:01 | | 37 | VIEW | | 1 | 139 | | 2 (0)| 00:00:01 | | 38 | TABLE ACCESS FULL | SYS_TEMP_0FD9D66E6_463BB9B | 1 | 92 | | 2 (0)| 00:00:01 | | 39 | VIEW | | 12585 | 737K| | 12 (0)| 00:00:01 | | 40 | TABLE ACCESS FULL | SYS_TEMP_0FD9D66E7_463BB9B | 12585 | 319K| | 12 (0)| 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID | PRODUCTS | 1 | 40 | | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN |
PROD_PK1 | 1 | | | 0 (0)| 00:00:01 |
|* 43 | TABLE ACCESS BY INDEX ROWID |
INVOICE_D | 1 | 18 | | 4 (0)| 00:00:01 |
|* 44 | INDEX RANGE SCAN |
INVOICE_D_FKH | 8 | | | 2 (0)| 00:00:01 |
|* 45 | FILTER
| | | | | | | | 46 | NESTED LOOPS OUTER | | 1 | 116 | | 4 (0)| 00:00:01 | | 47 | NESTED LOOPS | | 1 | 92 | | 3 (0)| 00:00:01 |
|* 48 | TABLE ACCESS BY INDEX ROWID |
RMEMO_H | 1 | 75 | | 2 (0)| 00:00:01 |
|* 49 | INDEX RANGE SCAN |
RMEMO_H_IDX | 1 | | | 1 (0)| 00:00:01 | | 50 | TABLE ACCESS BY INDEX ROWID | RMEMO_D | 1 | 17 | | 1 (0)| 00:00:01 |
|* 51 | INDEX RANGE SCAN |
RMEMO_D_FKH | 1 | | | 0 (0)| 00:00:01 | | 52 | TABLE ACCESS BY INDEX ROWID | INEXP | 1 | 24 | | 1 (0)| 00:00:01 |
|* 53 | INDEX UNIQUE SCAN |
INEXP_PK | 1 | | | 0 (0)| 00:00:01 | | 54 | TABLE ACCESS FULL | LOCATION_GROUPS | 21 | 630 | | 3 (0)| 00:00:01 | | 55 | TABLE ACCESS FULL | LOCATIONS | 24 | 1728 | | 3 (0)| 00:00:01 | | 56 | TABLE ACCESS BY INDEX ROWID | CUSTOMERS | 1 | 36 | | 1 (0)| 00:00:01 |
|* 57 | INDEX UNIQUE SCAN |
CUSTOMERS_PK | 1 | | | 0 (0)|
Predicate Information (identified by operation id):
2 - access("LOC"."LOC_CODE"="T"."LOC_CODE") 3 - access("LG"."LOCGRP_CODE"="T"."LOCGRP_CODE") 6 - access("LG1"."LOCGRP_CODE"='01') 10 - filter("INVH"."CUST_CODE">=:CUSTFR AND "INVH"."CUST_CODE"<=:CUSTTO AND "INVH"."TAXNO">=TRIM(SUBSTR(:TAXNOFR,3)) AND"INVH"."TAXNO"<=TRIM(SUBSTR(:TAXNOTO,3)) AND "INVH"."TAXCODE"<>'GAB' AND
NVL("INVH"."TAXNO",' ')<>' ' AND "INVH"."REGS_CODE">=:REGSFR AND "INVH"."REGS_CODE"<=:REGSTO)
15 - access("INVH"."TAXDATE">=TO_DATE(:TAXDATEFR,'DD-MM-YYYY') AND "INVH"."TAXDATE"<=TO_DATE(:TAXDATETO,'DD-MM-YYYY')) 18 - access("INVH"."INV_NO">=:INVOICENUMBER AND "INVH"."INV_NO"<=:INVOICENUMBERUPTO) 23 - access("SOB"."UOM"(+)="SOD"."UOM" AND "SOB"."PRODUCT_B"(+) ="SOD"."PRODUCT" AND "SOB"."INVH_ID"(+)="SOD"."INV_ID_HDR") 24 - access("PRD"."PRODUCT"="SOD"."PRODUCT") 29 - access("INVH"."INV_ID"="SOD"."INV_ID_HDR") 33 - filter("SOD"."PRODUCT" IS NULL) 36 - access("INVH"."INV_ID"="SOB"."INVH_ID")42 - access("PRD"."PRODUCT"="SOB"."PRODUCT_B") 43 - filter("SOB"."UOM"="SOD"."UOM"(+) AND "SOD"."PRODUCT"(+) ="SOB"."PRODUCT_B")
44 - access("SOD"."INV_ID_HDR"(+)="SOB"."INVH_ID")
45 - filter(:REGSFR<=:REGSTO AND :CUSTFR<=:CUSTTO AND TO_DATE (:TAXDATEFR,'DD-MM-YYYY')<=TO_DATE(:TAXDATETO,'DD-MM-YY YY') AND TRIM(SUBSTR(:TAXNOFR,3))<=TRIM(SUBSTR(:TAXNOTO,3)) AND :INVOICENUMBER<=:INVOICENUMBERUPTO) 48 - filter("H"."BILLING_CODE">=:CUSTFR AND "H"."BILLING_CODE"<=:CUSTTO AND "H"."REGS_CODE">=:REGSFR AND
"H"."REGS_CODE"<=:REGSTO AND "H"."TAXNO">=TRIM(SUBSTR (:TAXNOFR,3)) AND "H"."TAXNO"<=TRIM(SUBSTR(:TAXNOTO,3)) AND "H"."TAXDATE">=TO_DATE(:TAXDATEFR,'DD-MM-YYYY') AND "H"."TAXDATE"<=TO_DATE(:TAXDATETO,'DD-MM-YYYY') AND NVL("H"."TAXNO",' ')<>' ')49 - access("H"."TAXTYPE"=1 AND "DOC_CODE"||' '||"RM_NO">=:INVOICENUMBER AND "DOC_CODE"||' '||"RM_NO"<=:INVOICENUMBERUPTO)
51 - access("H"."RMH_ID"="D"."RMH_ID") 53 - access("I"."IE_CODE"(+)="D"."IE_CODE") 57 - access("C"."CUST_CODE"="T"."CUST_CODE" AND"C"."LOC_CODE"="T"."LOC_CODE") Received on Tue Mar 24 2009 - 20:19:06 CDT