Re: Perfomanter Left Outer Join


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von jens am Mai 06, 2004 um 17:45:

Als Antwort auf Perfomanter Left Outer Join 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
: )

Na, da würde ich mal einen Explain machen um den Flaschenhals zu erkennen.

Ohne die Indexstruktur, Tabellenaufbau, Mengenvolumina, Runstats Daten etc. zu kennen, kann man da so opauschal gar keine Aussage machen.


Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]