| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Query optimization
Have you tried NO_EXPAND?
Lisa Koivu
Oracle Database Administrator
Fairfield Resorts, Inc.
5259 Coconut Creek Parkway
Ft. Lauderdale, FL, USA 33063
-----Original Message-----
[mailto:Ranganath.Krishnaswamy_at_blr.hpsglobal.com]
Sent: Thursday, January 09, 2003 9:40 AM
To: Multiple recipients of list ORACLE-L
Hi List,
I have the below query:
select F1.AMTLICHESKENNZEICHEN AMTLICHESKENNZEICHEN
, F1.OID
, F1.VERKAUFSBEZEICHNUNG
, B1.FAHRZEUGARTTEXT
, B1.FAHRZEUGHERSTELLERTEXT
, B1.FAHRZEUGTYPTEXT
, B1.FIN
, B1.VERKAUFSBEZEICHNUNG
, H1.AUFTRAGSPOSITIONSNR
, H1.DATUMSTR
, H1.OID
, H1.PRODUKT
, H1.VORGANGSNUMMER
, 'Stamm' SOURCE
from ZPAB.FAHRZEUG F1
, ZPAB.FZGBRIEF B1
, ZPAB.HISTORIE H1
where F1.FZGBRIEF = B1.OID
AND F1.OID = H1.MYTECHOBJEKT(+)
AND ((H1.produkt, TO_DATE(H1.DATUMSTR, 'YYYY-MM-DD'))
IN (select
ZPAB.HISTORIE.produkt
, TO_DATE(MAX(ZPAB.historie.DATUMSTR), 'yyyy-mm-dd')
from ZPAB.historie
, ZPAB.FAHRZEUG
WHERE ZPAB.FAHRZEUG.OID = ZPAB.historie.MYTECHOBJEKT
AND ZPAB.FAHRZEUG.OID = F1.OID
AND ZPAB.historie.PRODUKT
IN ('HU', 'AU', 'SP', 'HUPlus', 'GGVS', 'P193', 'P21'
, 'UVVFahrzeuganbau', 'Ersat
zplakette', 'SOL')
group by ZPAB.historie.produkt)
OR H1.PRODUKT IN ('StandardGutachten', 'SchadenGutachten'
, 'BewertungZustandspruefung'
, 'MagBewertungZustandspruefung',
'Transportschadenbericht'
, 'Reparaturpruefung'
, 'Rechnungspruefungsbericht'
, 'Reparaturpruefungsbericht',
'FzgSchadenguta
chten', 'Hagelschadenbericht', 'Massenschadenbericht', 'Kalkulationsbericht
', 'Schadenbericht', 'Bericht', 'DekraSiegel', 'NfzSchadenGutachten'
, 'HypoWB
WGutachten', 'MagGutachten', 'MagBewertung', 'Bewertung')
OR F1.OID NOT IN (SELECT ZPAB.FAHRZEUG.OID
FROM ZPAB.FAHRZEUG
, ZPAB.HISTORIE
WHERE ZPAB.FAHRZEUG.OID =
ZPAB.historie.MYTECHOBJEKT))
Here is the explain plan for the query:
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE 1 0 COUNT (STOPKEY)
2 1 FILTER
3 2 NESTED LOOPS (OUTER)
4 3 NESTED LOOPS
5 4 TABLE ACCESS (BY INDEX ROWID) OF 'FAHRZEUG'
6 5 INDEX (RANGE SCAN) OF 'I_FAHRZEUG_1' (NON-UNIQUE
)
7 4 TABLE ACCESS (BY INDEX ROWID) OF 'FZGBRIEF'
8 7 INDEX (UNIQUE SCAN) OF 'PK_FZGBRIEF' (UNIQUE)
9 3 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
10 9 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NON-UNIQUE
)
11 2 FILTER
12 11 SORT (GROUP BY)
13 12 CONCATENATION
14 13 NESTED LOOPS
15 14 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
16 14 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
17 16 AND-EQUAL
18 17 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
19 17 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
20 13 NESTED LOOPS
21 20 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
22 20 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
23 22 AND-EQUAL
24 23 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
25 23 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
26 13 NESTED LOOPS
27 26 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
28 26 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
29 28 AND-EQUAL
30 29 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
31 29 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
32 13 NESTED LOOPS
33 32 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
34 32 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
35 34 AND-EQUAL
36 35 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
37 35 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
38 13 NESTED LOOPS
39 38 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
40 38 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
41 40 AND-EQUAL
42 41 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
43 41 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
44 13 NESTED LOOPS
45 44 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
46 44 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
47 46 AND-EQUAL
48 47 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
49 47 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
50 13 NESTED LOOPS
51 50 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
52 50 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
53 52 AND-EQUAL
54 53 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
55 53 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
56 13 NESTED LOOPS
57 56 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
58 56 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
59 58 AND-EQUAL
60 59 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
61 59 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
62 13 NESTED LOOPS
63 62 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
64 62 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
65 64 AND-EQUAL
66 65 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
67 65 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
68 13 NESTED LOOPS
69 68 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
70 68 TABLE ACCESS (BY INDEX ROWID) OF 'HISTORIE'
71 70 AND-EQUAL
72 71 INDEX (RANGE SCAN) OF 'I_PRODUKT' (NON-UNI
QUE)
73 71 INDEX (RANGE SCAN) OF 'I_MYTECHOBJEKT' (NO
N-UNIQUE)
74 2 NESTED LOOPS
75 74 TABLE ACCESS (FULL) OF 'HISTORIE'
76 74 INDEX (UNIQUE SCAN) OF 'PK_FAHRZEUG' (UNIQUE)
Total reocrds in the Fahrzeug table : 757635
Total reocrds in the Historie table : 350
The query takes approximately 11721 ms to execute. Is there any way
I can optimize the above query? Any help in this regard is
very much appreciated.
Thanks and Regards,
Ranganath
WARNING: The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this message by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, or distribution of the message, or any action or omission taken by you in reliance on it, is prohibited and may be unlawful. Please immediately contact the sender if you have received this message in error. Thank you.
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Krishnaswamy, Ranganath INET: Ranganath.Krishnaswamy_at_blr.hpsglobal.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Koivu, Lisa INET: Lisa.Koivu_at_efairfield.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Jan 09 2003 - 09:39:13 CST
![]() |
![]() |