Delphi2007, Firebird 2.1.1, WinXP, FIBPlus-Komponenten
Folgende, auf dem Client als Query ausgeführte Abfrage, dauert zwischen 3 und 6 Minuten, je nach PC-Ausstattung (in der Datenbank befinden sich in der Tabelle WAEBEWEGUNGEN ca. 100.000 Datensätze):
select W.WBID,W.KID,W.MID_E,W.MID_A,W.WID,W.ANZAHL,W.ADAT UMSYS,W.ADATUM,
W.EDATUMSYS,W.EDATUM,W.ZUSATZTEXT,W.EINGANG,W.AUSG ANG,W.ANZAHL_A,
M.NAME AS ENAME,B.NAME AS ANAME,A.MATCHCODE,A.ARTIKELNR
from WAEBEWEGUNGEN W
left outer join MITARBEITER M on W.MID_E=M.MID
left outer join MITARBEITER B on W.MID_A=B.MID
left outer join WAESCHE A on W.WID=A.WID
where KID='''+KdNr+'''
and (W.EDATUM between '''+Datum1+''' and '''+Datum2);
Frage: Macht es Sinn und kann man überhaupt so eine Abfrage als StoredProcedure umsetzen, da es ja eine ganze Reihe von Daten als Antwort gibt und diese dann in einer Tabelle übersichtlich dargestellt werden?
Hartmut
Folgende, auf dem Client als Query ausgeführte Abfrage, dauert zwischen 3 und 6 Minuten, je nach PC-Ausstattung (in der Datenbank befinden sich in der Tabelle WAEBEWEGUNGEN ca. 100.000 Datensätze):
select W.WBID,W.KID,W.MID_E,W.MID_A,W.WID,W.ANZAHL,W.ADAT UMSYS,W.ADATUM,
W.EDATUMSYS,W.EDATUM,W.ZUSATZTEXT,W.EINGANG,W.AUSG ANG,W.ANZAHL_A,
M.NAME AS ENAME,B.NAME AS ANAME,A.MATCHCODE,A.ARTIKELNR
from WAEBEWEGUNGEN W
left outer join MITARBEITER M on W.MID_E=M.MID
left outer join MITARBEITER B on W.MID_A=B.MID
left outer join WAESCHE A on W.WID=A.WID
where KID='''+KdNr+'''
and (W.EDATUM between '''+Datum1+''' and '''+Datum2);
Frage: Macht es Sinn und kann man überhaupt so eine Abfrage als StoredProcedure umsetzen, da es ja eine ganze Reihe von Daten als Antwort gibt und diese dann in einer Tabelle übersichtlich dargestellt werden?
Hartmut
Comment