Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: SQL "Update or Insert" langsam

  Alt 2. Jan 2017, 14:07
Wieso setzt Du innerhalb der Schleife jedesmal die SQL-Eigenschaft neu? Und fehlt da nicht ein MATCHING in Deinem Statement?
Pseudocode Die Schleife und der Inhalt sind im echten Code ganz weit von einander weg und entkoppelt, dass es nur so geht. Ich kann nur den Inhalt in der Schleife kontrollieren. Ob da nun eine String-Eigenschaft (SQL.Text) mehrfach gesetzt wird oder nicht sollte von der Geschwindgkeit unter den Tisch fallen...
Nein. Absolut nicht, weil man dann den Vorteil der Parameter nicht hat

Delphi-Quellcode:
Transaction.StartTransaction;

Query.SQL.Text := 'Update or insert into foo (A, B, C) values (:a, :b, :c)';
for i := 0 to 2000 do
begin
  Query.ParamByName('a').AsString := 'v1';
  Query.ParamByName('b').AsString := 'v2';
  Query.ParamByName('c').AsString := 'v3';
  Query.Execute;
end;

Transaction.Commit;
Markus Kinzler
  Mit Zitat antworten Zitat