Entwickler-Ecke

Datenbanken - Access: einfache SQL-Abfrage unter Delphi extrem langsam


GlasshouseManor - Fr 27.03.09 23:57
Titel: Access: einfache SQL-Abfrage unter Delphi extrem langsam
Moin!

Ich verwalte mit Access eine Datenbank mit rund 20 Tabellen.
Eine davon (mit rund 10.000 Datensätzen) soll per SQL abgefragt werden wie folgt:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  with dmStartCenter.qAuftragPosition do begin
   DisableControls;
   Close;
   SQL.Clear;
   SQL.Add('SELECT * FROM AuftragPosition');
   SQL.Add('WHERE (DataRefKunde = '+IntToStr(DataRef)+')');
   Open;
   EnableControls;
  end;

Im Ergebnis werden rund 300 Sätze selektiert.

Das Ganze dauert in Delphi 60-70 Sekunden, mittels Access-Abfrage mit denselben Daten keine halbe Sekunde. Wie kommt's?


GlasshouseManor - So 29.03.09 09:20

OK - ich hab's. Wie immer eine ganz doofe, weil einfache Sache.
Ich hatte noch eine alte OnCalc-Routine eingebunden.