Thema: Delphi SQL beschleunigen

Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: SQL beschleunigen

  Alt 8. Nov 2012, 14:54
Vorweg:
Ich hab ADS noch nie benutzt.

Ein View macht m.E. kein Unterschied zu einem Select.
Wenn die SuperDuper GUI abschmiert, das Ganze lieber in der Console probieren.

Zu den Buchungen:
Die 4 oder 5 Or Bedingungen im Statement kosten eine Menge Zeit. Du könntest versuchen -sofern die übrigen Kriterien identisch sind- mit einem Buchungsjoin auszukommen und die jeweiligen Where Kriterien in ein Case Statement umzuwandeln, das nur die abweichende Bedingung abfragt und in dem Fall einen berechneten Wert ausspuckt.

also für einen Strang bspw.
Code:
LEFT OUTER JOIN Buchungen b_AZK
                ON (mr.ID_Personal = b_AZK.ID_Personal AND Year(b_AZK.Datum) = mr.Jahr
            AND Month(b_AZK.Datum) = mr.Monat and b_AZK.Buchungsart = 'AZK')
raus und dafür im Select Teil des Statements ungefähr sowas:
Code:
Case .. When [Prüfung] then [expression] else 0 as AZK,
statt des alten
Code:
ZMIF.MinToIHour(IFNULL(sum(b_AZK.BSumme),0)) as AZK,
Die Vorschläge von Union sind eigentlich selbstverständlich, würde ich bis auf die Temptables zuerst versuchen. ( evtl. schwierig, wenn die Umgebung abschmiert)
Gruß, Jo

Geändert von jobo ( 8. Nov 2012 um 14:58 Uhr) Grund: präzisiert
  Mit Zitat antworten Zitat