Hallo Leute,
kann mir jemand sagen, ob ich den
SQL hier optimieren kann. Es dauer ca. 35 sec. bis das Ergebnis vorliegt.
Es liegt ein Index auf jedem Feld der Where Clausel und auf den Felder in den Joins.
Ansonsten muß ich alle Daten in eine Tabelle legen denn dann geht es schneller. Das Problem kommt von den Joins vermute ich einmal.
SQL-Code:
Select Cast(GFP.Monat as Float) as Monat,
SUM(SK.AnzahlGF) as AnzahlGF,SUM(SK.KostenHoechsterist) as KostenGf,
SUM(SK.KostenHoechsterist) / SUM(SK.AnzahlGF) as KostenJeGf
from Hauptkosten SK
Left Outer Join Teilkosten GFK on GFK.Auftragsart = SK.Auftragsart
Left Outer Join Finanzen GFP on GFP.IDTeilkosten = GFK.TeilkostenZaehler
and GFP.Auftragsnummer = SK.Auftragsnummer
Left Outer Join Tabelle1 on GFP.Auftragsnummer = Tabelle1.Auftragsnummer
Where Tabelle1.AuftrageingangJahr = '2009'
and GFP.Jahr = '2009'
and SK.Auftragsart = 'Neukunde'
Group by Monat
Order by 1
Tanja