Perfomanter Left Outer Join
[ ruban.de ] [ Antworten ] [ Forum ]
Geschrieben von Armin Sauerwein on Mai 06, 2004 um 12:01:
Habe ein kleines Problem: Wir haben einen mächtigen Left outer Join der über 40 Minuten dauert.(In jeder Tabelle befinden sich ca. 500000 Datensätze). Dieses Statement ist aber absolut notwendig. Weiß jemand wie das ganze perfomanter und schneller gemacht werden kann? Hier das Statement: SELECT SI.BANK ,SI.BZDWHTIME ,SI.LAUFNR_SI ,SI.KUNDNR_SI ,SI.EZL_ST ,SI.KG_ST ,SI.CLAUFNR_ST ,WI.BZDWHTIME ,WI.KONTO ,WI.ANTRAGNR ,WI.RESTRUKTLFNR FROM BZ_SI_STAMM SI LEFT OUTER JOIN BZ_WIDMUNG_SICH WI ON SI.KUNDNR_SI = WI.KUNDNR_SI AND SI.LAUFNR_SI = WI.LAUFNR_SI AND SI.EZL_ST = WI.EZL_ST AND SI.KG_ST = WI.KG_ST AND SI.CLAUFNR_ST = WI.CLAUFNR_ST WHERE SI.BZDWHTIME = (SELECT MAX(SSI.BZDWHTIME) FROM BZ_SI_STAMM SSI WHERE SI.BANK =SSI.BANK AND SI.LAUFNR_SI =SSI.LAUFNR_SI AND SI.KUNDNR_SI =SSI.KUNDNR_SI AND SI.EZL_ST =SSI.EZL_ST AND SI.KG_ST =SSI.KG_ST AND SI.CLAUFNR_ST =SSI.CLAUFNR_ST ) AND WI.BZDWHTIME = (SELECT MAX(SWI.BZDWHTIME) FROM BZ_WIDMUNG_SICH SWI WHERE WI.BANK =SWI.BANK AND WI.LAUFNR_SI =SWI.LAUFNR_SI AND WI.KUNDNR_SI =SWI.KUNDNR_SI AND WI.EZL_ST =SWI.EZL_ST AND WI.KG_ST =SWI.KG_ST AND WI.CLAUFNR_ST =SWI.CLAUFNR_ST )
Schreibe eine Antwort
|