Einzelnen Beitrag anzeigen

HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#1

Access SQL Query optimieren?

  Alt 14. Jan 2024, 12:40
Datenbank: Access mdb • Version: 2003 • Zugriff über: FireDac
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
  Mit Zitat antworten Zitat