Einzelnen Beitrag anzeigen

Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#8

AW: SQL "Update or Insert" langsam

  Alt 2. Jan 2017, 13:58
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;
Noch ein Vorschlag zur Beschleunigung:
Delphi-Quellcode:
Transaction.StartTransaction;

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

Transaction.Commit;
Erspart auch noch dreimal pro Runde das Auswerten von ParamByName.
  Mit Zitat antworten Zitat