Hallo
SQL Experten,
ich brauche mal wieder euere Hilfe in Sachen
SQL Abfrage in einer mdb
Access Datenbank. Für den ersten Aufruf meiner Abfrage dauert es 16 sek. bis das Ergebnis korrekt angezeigt wird.
Bei einer anschließenden nochmaligen Abfrage dauert es nur die Hälfte der Zeit. Die mdb Datei liegt auf einem Win 10 Rechner im lokalen Netzwerk. Der App PC greift darauf zu.
Meine Frage1: Warum dauert es bei der Erstabfrage so lange und auf welchem Rechner wird die Abfrage gecached (Win10 Netzwerkrechner oder lokaler PC) weil es dann schneller geht?
Frage2: Kann man durch Optimierung der
SQL-
Query ein schnelleres Resultat erreichen?
Hier mein
Query:
Delphi-Quellcode:
SELECT ABFDocAuftragNr, ABFDocDatum,ABFDocKundeKurzbez,
IIF(Count(ABFDocAuftragID)>1,Max(ABFPosMenge)-Min(ABFPosMenge),Max(ABFPosMenge)) as offen
FROM (ABFDok INNER JOIN ABFPos
ON ABFPos.ABFPosAuftragID = ABFDok.ABFDocAuftragID)
INNER JOIN sArtikel
ON ABFPos.ABFPosArtNr=sArtikel.ArtNr
where ABFDocOptFertig = false and ABFDocVisType= 1 and ABFPosEPreis >0 and ABFPosType in(0,7) and ABFPosNr <>'' and ABFPosArtNr = :ArtNr
GROUP BY ABFDocAuftragNr,ABFDocDatum,ABFDocKundeKurzbez,ABFdocVisType
order by ABFDocAuftragNr;
Wenn einer mir helfen könnte wäre ich sehr sehr dankbar.
LG Harry