Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Insert geschwindigkeit verbessern

  Alt 10. Feb 2005, 12:56
Du könntest viele (~500) INSERT - Anweisungen in einer Stringliste zwischen speichern
und dann in einem Rutsch ausführen.
Diese würde den Netzwerkverwerk deutlich reduzieren, da statt vieler kleiner Pakete
nur wenige grosse Pakete gesendet würden.

Dies geht aber nur, wenn die Datenbank, die Treiber und die Zeos-Komponenten diese mehrfachen
Befehle unterstützen (MS SQL Server + ADO kann das).
Mach einfach einen Test:
Delphi-Quellcode:
   // Beispiel für 2 Insert auf einmal
   // SQL Anweisungen mit ; getrennt
   DM.ZQ.SQL.Clear;
   dm.ZQ.SQL.Add('INSERT INTO ASSET_DATA Values(20, 30, 'Test1);');
dm.ZQ.SQL.Add(
'INSERT INTO ASSET_DATA Values(20, 60, 'Test2);');
   dm.ZQ.ExecSQL;
Auserdem:
Delphi-Quellcode:
var
   qry : TQuery;
begin
   qry := dm.ZQ;
   // jetzt wird nur noch mit "qry" gearbeitet; dies spart etwas Rechenzeit
   qry.SQL.Clear;
   qry.SQL.Add('INSERT INTO ASSET_DATA');
   ...
Andreas
  Mit Zitat antworten Zitat