Einzelnen Beitrag anzeigen

Franzelchen

Registriert seit: 22. Mär 2007
82 Beiträge
 
#8

AW: Insert Optimierung

  Alt 2. Mär 2012, 20:57
Den ZQuery.text vor die Schleife zu ziehen, statt in der Schleife zu haben, wie in Post 1 bringt sage und schreibe rund 30 sec.

Jetzt habe ich die Parameterliste eingefügt und es passiert absolut nichts. Zeitmessung zeigt 0,00

Wo ist der Fehler?

Delphi-Quellcode:
var i:Integer;
var startzeit,stopzeit : TDateTime;

begin
startzeit := now;
Screen.Cursor := crHourGlass;
ZConnection.Database := 'c:\msql\firedb.fdb';
 Zquery1.SQL.Text:='INSERT INTO TestTabelle (Wert1, Wert2) VALUES(:v1, :v2), (:v3, :v4), (:v5, :v6), (:v7, :v8), (:v9, :v10)';
 while i <= SG1.RowCount-1 do
  begin
       with ZQuery1.params do
       begin
        ParamValues['v1']:=SG1.Cells[0, i];
        ParamValues['v2']:=SG1.Cells[1, i];
        ParamValues['v3'] := SG1.Cells[0, i + 1];
        ParamValues['v4'] := SG1.Cells[1, i + 1];
        ParamValues['v5'] := SG1.Cells[0, i + 2];
        ParamValues['v6'] := SG1.Cells[1, i + 2];
        ParamValues['v7'] := SG1.Cells[0, i + 3];
        ParamValues['v8'] := SG1.Cells[1, i + 3];
        ParamValues['v9'] := SG1.Cells[0, i + 4];
        ParamValues['v10']:= SG1.Cells[1, i + 4];

      end; // with
  ZQuery1.ExecSQL;
   i := i+5;
  end; // i
Screen.Cursor := crDefault;
stopzeit := now;
Panel1.Caption :='SuchZeit : '+ FormatDateTime('nn:ss:zzz', StopZeit - StartZeit) ;
end;
Indizes existieren nicht,
Trigger (was auch immer das ist) auch nicht.
  Mit Zitat antworten Zitat