Hi all, I have the following query which is running slow and doing full table scan on DIENSTLEISTUNGSOBJEKT and FZGBRIEF tables. I have created all the neccessary indexes on these two tables apart from other tables. In this regard I request you to help me in tuning the below query so that the full table scan is avoided and the response time is less. > > > > > select > ZPAA.AUFTRAGSPOSITION.POSITIONSNUMMER, > ZPAA.AUFTRAGSPOSITION.ZAHLUNGSART, > ZPAA.AUFTRAGSPOSITION.ZAHLUNGSARTTYP, > ZPAA.AUFTRAGSPOSITION.VORGANGSNUMMER, > to_char( AUFTRAG.AUFTRAGERTEILTDATUM, 'DD-MM-YYYY'), > ZPAA.AUFTRAG.AUFTRAGSNUMMER, > ZPAA.FAHRZEUG.AMTLICHESKENNZEICHEN, > ZPAA.FAHRZEUG.FZGHALTERNAME, > ZPAA.FZGBRIEF.FAHRZEUGARTTEXT, > ZPAA.RECHNUNG.PREISGRUPPE, > NULL BETRAG, > NULL QUITTUNGSNR, > ZPAA.PLAKETTENERGEBNIS.PLAKETTENLAUFZEITSTR, > ZPAA.PLAKETTENERGEBNIS.PLAKETTENZUTEILUNG, > ZPAA.AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID, > S.MATERIALNUMMER, > S.ERZEUGNISNR, > ZPAA.AUFTRAGSPOSPOSITIONSSTATUS.STATUSCODE, > PARTNER_PRUEFORT.PARTNERNUMMER, > PARTNER_MHS.PARTNERNUMMER, > PARTNER_AG.PARTNERNUMMER, > PARTNER_AG.NAME, > PARTNER_SV.PARTNERNUMMER, > S.SVDIENSTLEISTUNGOID, > to_char(S.ERZEUGNISDATUM, 'DD-MM-YYYY'), > S.ERGEBNIS, > S.SPERGEBNIS, > S.SPPLAKETTE, > ZPAA.AUFTRAGSPOSITION.DIENSTLEISTUNGSGRUPPE, > ZPAA.AUFTRAGSPOSITION.DIENSTLEISTUNGSBEZEICHNUNG, > NULL BETRAGOFFEN, > NULL PARTNERNUMMER, > NULL ENDEZEIT, > NULL TAGESABSCHLUSSNUMMER > from > ZPAA.FAHRZEUG, > ZPAA.AUFTRAG, > ZPAA.AUFTRAGSPOSITION, > ZPAA.FZGBRIEF, > ZPAA.PLAKETTENERGEBNIS, > ZPAA.AUFTRAGSPOSPOSITIONSSTATUS, > ZPAA.DIENSTLEISTUNGSOBJEKT D, > ZPAA.RECHNUNG, > ZPAA.SVDIENSTLEISTUNG S, > ZPAA.AUFTRAGSPOSITIONSPARTNER PARTNER_PRUEFORT, > ZPAA.AUFTRAGSPOSITIONSPARTNER PARTNER_MHS, > ZPAA.AUFTRAGSPOSITIONSPARTNER PARTNER_AG, > ZPAA.AUFTRAGSPOSITIONSPARTNER PARTNER_SV > where > > ZPAA.AUFTRAGSPOSITION.TAGESABSCHLUSSNUMMER = :TAGESABSCHLUSSNUMMER > > AND AUFTRAG.VORGANGSNUMMER = AUFTRAGSPOSITION.VORGANGSNUMMER > > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID = S.AUFTRAGSPOSITIONOID > > AND S.SVDIENSTLEISTUNGOID = D.SVDIENSTLEISTUNGOID > AND D.DIENSTLEISTUNGSOBJEKTOID > FAHRZEUG.DIENSTLEISTUNGSOBJEKTOID > AND D.SEQNO = (SELECT E.SEQNO FROM > ZPAA.DIENSTLEISTUNGSOBJEKT E ,ZPAA.SVDIENSTLEISTUNG S1 > WHERE S1.SVDIENSTLEISTUNGOID = E.SVDIENSTLEISTUNGOID > AND S1.SVDIENSTLEISTUNGOID = S.SVDIENSTLEISTUNGOID > AND ROWNUM < 2) > AND FAHRZEUG.FAHRZEUGOID = FZGBRIEF.FAHRZEUGOID > AND S.ERGEBNIS = PLAKETTENERGEBNIS.PLAKETTENERGEBNISOID(+) > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID > RECHNUNG.AUFTRAGSPOSITIONOID > AND AUFTRAGSPOSITION.AKTUELLERSTATUS > AUFTRAGSPOSPOSITIONSSTATUS.AUFTRAGSPOSITIONSSTATUSOID > AND (AUFTRAGSPOSPOSITIONSSTATUS.STATUSCODE = '6' > OR AUFTRAGSPOSPOSITIONSSTATUS.STATUSCODE = '8') > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID > PARTNER_PRUEFORT.AUFTRAGSPOSITIONOID(+) > AND PARTNER_PRUEFORT.ROLLENTYP(+) = 'ZP' > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID > PARTNER_MHS.AUFTRAGSPOSITIONOID(+) > AND PARTNER_MHS.ROLLENTYP(+) = 'MHS' > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID > PARTNER_AG.AUFTRAGSPOSITIONOID(+) > AND PARTNER_AG.ROLLENTYP(+) = 'AG' > AND AUFTRAGSPOSITION.AUFTRAGSPOSITIONOID > PARTNER_SV.AUFTRAGSPOSITIONOID(+) > AND PARTNER_SV.ROLLENTYP(+) = 'ZT' > Operation Object Name Rows Bytes Cost TQ In/Out > PStart PStop > > SELECT STATEMENT Hint=HINT: RULE > > NESTED LOOPS > > NESTED LOOPS > > NESTED LOOPS > > NESTED LOOPS > > NESTED LOOPS OUTER > > NESTED LOOPS OUTER > > NESTED LOOPS OUTER > > NESTED LOOPS OUTER > > NESTED LOOPS > > NESTED LOOPS > > NESTED LOOPS > > NESTED LOOPS OUTER > > TABLE ACCESS FULL SVDIENSTLEISTUNG > > TABLE ACCESS BY INDEX ROWID PLAKETTENERGEBNIS > > INDEX UNIQUE SCAN SYS_C008846 > > TABLE ACCESS BY INDEX ROWID AUFTRAGSPOSITION > > INDEX UNIQUE SCAN SYS_C008827 > > TABLE ACCESS BY INDEX ROWID > AUFTRAGSPOSPOSITIONSSTATUS > > INDEX UNIQUE SCAN SYS_C008948 > > TABLE ACCESS BY INDEX ROWID AUFTRAG > > INDEX UNIQUE SCAN VORGANGS_IDX > > TABLE ACCESS BY INDEX ROWID AUFTRAGSPOSITIONSPARTNER > > INDEX RANGE SCAN I_ROLLENTYP > > TABLE ACCESS BY INDEX ROWID AUFTRAGSPOSITIONSPARTNER > > INDEX RANGE SCAN I_ROLLENTYP > > TABLE ACCESS BY INDEX ROWID AUFTRAGSPOSITIONSPARTNER > > INDEX RANGE SCAN I_ROLLENTYP > > TABLE ACCESS BY INDEX ROWID AUFTRAGSPOSITIONSPARTNER > > INDEX RANGE SCAN I_ROLLENTYP > > TABLE ACCESS BY INDEX ROWID RECHNUNG > > INDEX RANGE SCAN I_RECHNUNG > > TABLE ACCESS BY INDEX ROWID DIENSTLEISTUNGSOBJEKT > > INDEX RANGE SCAN SEQNO_IDX > > COUNT STOPKEY > > MERGE JOIN > > INDEX UNIQUE SCAN PK_SVDIENSTLEISTUNG > > FILTER > > TABLE ACCESS FULL DIENSTLEISTUNGSOBJEKT > > TABLE ACCESS BY INDEX ROWID FAHRZEUG > > INDEX RANGE SCAN I_FAHRZEUG > > TABLE ACCESS BY INDEX ROWID FZGBRIEF > > INDEX RANGE SCAN I_FZGBRIEF > > I am also sending the explain plan as seen in TOAD for your perusal. 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.com -- Author: Krishnaswamy, Ranganath INET: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] (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).