Hi all,
Iam trying to run below query, its taking lot of time .
query:
SELECT
LN.STORE_CD, LN.LOC_CD, LN.DEL_DOC_NUM,
LN.DEL_DOC_LN#, LN.ITM_CD, LN.QTY*100,
LN.OUT_CD, LN.OUT_ID_CD
FROM LOC LOC, SO_LN LN
WHERE EXISTS (SELECT 'X'
FROM STORE S2
WHERE S2.STORE_CD = LN.STORE_CD
AND NVL(S2.RF_WHSE, 'N') = 'Y')
AND EXISTS (SELECT 'X'
FROM SO SO2
WHERE SO2.DEL_DOC_NUM = LN.DEL_DOC_NUM
AND SO2.STAT_CD = 'O'
AND SO2.ORD_TP_CD IN ('SAL','EEX','R ES'))
AND EXISTS (SELECT 'X'
FROM ITM I2
WHERE I2.ITM_CD = LN.ITM_CD
AND I2.ITM_TP_CD != 'CPT'
AND NVL(I2.BULK_TP_ ITM,'N') != 'Y')
AND LN.VOID_FLAG = 'N'
AND LN.STORE_CD IS NOT NULL
AND LN.LOC_CD IS NOT NULL
AND LOC.LOC_CD = LN.LOC_CD
AND LOC.STORE_CD = LN.STORE_CD
AND LN.PICKED || '' = 'F'
AND NOT EXISTS (SELECT 'X'
FROM IST_LN$SO_LN ILSL , INV_XREF IX
WHERE ILSL.DEL_DOC_NU M = LN.DEL_DOC_NUM
AND ILSL.DEL_DOC_LN # = LN.DEL_DOC_LN#
AND IX.DEL_DOC_NUM = ILSL.DEL_DOC_NU M
AND IX.DEL_DOC_LN# = ILSL.DEL_DOC_LN #
AND IX.DISPOSITION = 'PEN' )
ORDER BY LN.STORE_CD, LN.LOC_CD, LN.DEL_DOC_NUM, LN.DEL_DOC_LN#, LN.ITM_CD
Explain plan:
Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT GOAL: RULE
7367 SORT (ORDER BY)
7367 FILTER
37023 NESTED LOOPS
37040 TABLE ACCESS (FULL) OF 'SO_LN'
37023 INDEX (UNIQUE SCAN) OF 'LOC_PK' (UNIQUE)
4 TABLE ACCESS (BY INDEX ROWID) OF 'STORE'
270 INDEX (UNIQUE SCAN) OF 'STORE_PK' (UNIQUE)
8402 TABLE ACCESS (BY INDEX ROWID) OF 'SO'
9129 INDEX (UNIQUE SCAN) OF 'SO1' (UNIQUE)
1957 TABLE ACCESS (BY INDEX ROWID) OF 'ITM'
3585 INDEX (UNIQUE SCAN) OF 'ITM_PK' (UNIQUE)
13 NESTED LOOPS
26264432 TABLE ACCESS GOAL: ANALYZED (BY INDEX ROWID) OF
'INV_XREF'
26264432 INDEX GOAL: ANALYZED (RANGE SCAN) OF
'INV_XREF_DISPO SITION' (NON-UNIQUE)
13 INDEX (RANGE SCAN) OF 'IST_LN$SO_LN1' (NON-UNIQUE)
No. of rows in my SO_LN table is 954554
No. of rows in my LOC table is 12030
optimizer mode is RULE
what is wrong with this?
can anybody help me out...
Regards
Mallikarjun
Iam trying to run below query, its taking lot of time .
query:
SELECT
LN.STORE_CD, LN.LOC_CD, LN.DEL_DOC_NUM,
LN.DEL_DOC_LN#, LN.ITM_CD, LN.QTY*100,
LN.OUT_CD, LN.OUT_ID_CD
FROM LOC LOC, SO_LN LN
WHERE EXISTS (SELECT 'X'
FROM STORE S2
WHERE S2.STORE_CD = LN.STORE_CD
AND NVL(S2.RF_WHSE, 'N') = 'Y')
AND EXISTS (SELECT 'X'
FROM SO SO2
WHERE SO2.DEL_DOC_NUM = LN.DEL_DOC_NUM
AND SO2.STAT_CD = 'O'
AND SO2.ORD_TP_CD IN ('SAL','EEX','R ES'))
AND EXISTS (SELECT 'X'
FROM ITM I2
WHERE I2.ITM_CD = LN.ITM_CD
AND I2.ITM_TP_CD != 'CPT'
AND NVL(I2.BULK_TP_ ITM,'N') != 'Y')
AND LN.VOID_FLAG = 'N'
AND LN.STORE_CD IS NOT NULL
AND LN.LOC_CD IS NOT NULL
AND LOC.LOC_CD = LN.LOC_CD
AND LOC.STORE_CD = LN.STORE_CD
AND LN.PICKED || '' = 'F'
AND NOT EXISTS (SELECT 'X'
FROM IST_LN$SO_LN ILSL , INV_XREF IX
WHERE ILSL.DEL_DOC_NU M = LN.DEL_DOC_NUM
AND ILSL.DEL_DOC_LN # = LN.DEL_DOC_LN#
AND IX.DEL_DOC_NUM = ILSL.DEL_DOC_NU M
AND IX.DEL_DOC_LN# = ILSL.DEL_DOC_LN #
AND IX.DISPOSITION = 'PEN' )
ORDER BY LN.STORE_CD, LN.LOC_CD, LN.DEL_DOC_NUM, LN.DEL_DOC_LN#, LN.ITM_CD
Explain plan:
Rows Execution Plan
------- ---------------------------------------------------
0 SELECT STATEMENT GOAL: RULE
7367 SORT (ORDER BY)
7367 FILTER
37023 NESTED LOOPS
37040 TABLE ACCESS (FULL) OF 'SO_LN'
37023 INDEX (UNIQUE SCAN) OF 'LOC_PK' (UNIQUE)
4 TABLE ACCESS (BY INDEX ROWID) OF 'STORE'
270 INDEX (UNIQUE SCAN) OF 'STORE_PK' (UNIQUE)
8402 TABLE ACCESS (BY INDEX ROWID) OF 'SO'
9129 INDEX (UNIQUE SCAN) OF 'SO1' (UNIQUE)
1957 TABLE ACCESS (BY INDEX ROWID) OF 'ITM'
3585 INDEX (UNIQUE SCAN) OF 'ITM_PK' (UNIQUE)
13 NESTED LOOPS
26264432 TABLE ACCESS GOAL: ANALYZED (BY INDEX ROWID) OF
'INV_XREF'
26264432 INDEX GOAL: ANALYZED (RANGE SCAN) OF
'INV_XREF_DISPO SITION' (NON-UNIQUE)
13 INDEX (RANGE SCAN) OF 'IST_LN$SO_LN1' (NON-UNIQUE)
No. of rows in my SO_LN table is 954554
No. of rows in my LOC table is 12030
optimizer mode is RULE
what is wrong with this?
can anybody help me out...
Regards
Mallikarjun
Comment