Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
FreePascal / Lazarus
|
AW: Insert optimieren
16. Sep 2010, 14:49
Also ich hab jetzt mal den Code so abgeändert:
Delphi-Quellcode:
Frm_Messung.ZConnection1.StartTransaction;
with Frm_Messung.ZQuery2 do
begin
saving := true;
//list.Text := 'execute block as begin';
for zt := 0 to round(Frm_Messung.Ch_Messung.BottomAxis.Maximum) do
begin
(*Params[0].AsInteger := tId;
Params[1].AsInteger := zt;
Params[2].AsFloat := arr_messwerte[tdim, zt, 0];
Params[3].AsFloat := arr_messwerte[tdim, zt, 1];
ExecSQL;*)
list.Add(' INSERT INTO Messwerte (ID_mess, Millisec, Messwert_Links, Messwert_Rechts) VALUES (' + InttoStr(tid) + ' , ' + InttoStr(zt) +' , ' + FloattoStr(arr_messwerte[tdim, zt, 0]) + ' , '+ FloattoStr(arr_messwerte[tdim, zt, 1]) + ' );');
frm_messung.pb_db.Position := frm_messung.pb_db.Position +1;
end;
//list.Add('end');
SQL := list;
end;
try
Frm_Messung.ZQuery2.ExecSQL;
except
Frm_Messung.ZConnection1.Rollback;
end;
Frm_Messung.ZConnection1.Commit;
Dann bekomm ich immer
Code:
Unknown Token in Line 2 Insert
@exilant
Der Firebird läuft auf einem WIN 2003 SBS, keine trigger keine indizes, und wenn ich die ganze Sache Embedded mach gehts etwas schneller so cs 15-20 sekunden für 30k
Edit:
Hab das grad gefunden
http://codicesoftware.blogspot.com/2...registers.html
der schafft in 19s 100k, aber ich versteh nicht ganz was er macht?
Philipp N. "Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
Geändert von PhilmacFLy (16. Sep 2010 um 14:51 Uhr)
|