Hallo zusammen,
ich muss eine Anforderung umsetzen und suche nun eine passende "Strategie".
Gegeben: 1 größere Tabelle, eine Textdatei mit ca. 200 - 3000 Rec-ID-Nummern. Die Tabelle hat momentan ca. 600 000 Datensätze, täglich wachsend.
Nun soll in dieser Tabelle in allen Datensätzen welche einer der Rec-Id's (Identifikation) aus der Textdatei entsprechen, ein bestimmtes Feld gesetzt werden.
Im ersten Ansatz würde ich mir die Textdatei mit den Identifikations-Nummern in eine StringList laden.
Dann in einer Schleife durchlaufen lassen.
Pseudo-Code:
Delphi-Quellcode:
begin
Qry_Update.SQL.add(UPDATE MEINETABELLE set MEINETABELLE.UpdateFeld = '8' where MEINETABELLE.Identifikation = );
begin
Sl_sql := TStringList.Create;
Sl_sql.LoadFromFile(...);
for I := 0 to Sl_sql.Count - 1 do begin
if I <> Sl_sql.Count - 1 then begin
Qry_Update.SQL.add('Sl_sql[i] or MEINETABELLE.Identifikation = ')
end else Qry_Update.SQL.add('Sl_sql[i]')
end;
end;
end;
Ich habe das jetzt nicht getestet und habe auch keine Vorstellung wie performant das Ganze ist und ob es so überhaupt sinnvoll ist.
Kennt jemand bessere Konzepte für solche Anforderungen oder sollte ich das so umsetzen?
Vielen Dank schon mal vorab für eure Unterstützung!