Einzelnen Beitrag anzeigen

th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#1

Firebird - nur neue Daten übernehmen - bessere Möglichkeit ?

  Alt 24. Jun 2005, 14:21
Datenbank: Firebird • Version: 1.5 • Zugriff über: FipPlus für D2005
Hallo,

ich rufe zeitgesteuert überlappende Datenabschnitte ab und will nur die Datenteile speichern,
die noch nicht in der Datenbank vorhanden sind, um so eine lückenlose Datenreihe zu erhalten

bisher habe ich die Daten über folgende Abfrage auf ihr vorhandensein überprüft:

Delphi-Quellcode:
if (Locate('SYMBOLID;MIN_DATE;MIN_TIME',
 VarArrayOf([inttostr(symboldataset.FieldByName('SYMBOLID').AsInteger),
 datetostr(mydate),inttostr(myminute)]),Searchoptions ))=false then begin

append;

... Daten schreiben ...

end;
das funktioniert auch soweit - aber ich habe den eindruck das dies bei zunehmenden Datenbestand extrem langsam wird (>400000 Datensätze).

deshalb meine Frage gibt es noch andere möglichkeiten die abfrage zu beschleunigen (indeces sind natürlich schon vorhanden).

Bin leider noch nicht so fit was DB programmierung angeht und vielleicht ist mein weg auch zu umständlich

Danke für alle tips

Ralf
  Mit Zitat antworten Zitat