[ juha5803 @ 06.10.2008. 08:21 ] @
Pozdrav!
Kombinacija Delphi/Firebird
Procedura u programu generiše i upisuje u datoteku nekliko desetina hiljada slogova (sa nekih 30-tak) podataka. Da provjerim brzinu dodao sam upis vremena i uvidio da kako datoreka raste upis postaje sve sporiji, ima li lijeka?!
[ Vic @ 06.10.2008. 10:24 ] @
Nisi rekao koje komponente koristis i kako (append, insert) vrsis upisivanje novih slogova?
[ juha5803 @ 06.10.2008. 10:38 ] @
Citat:
Vic: Nisi rekao koje komponente koristis i kako (append, insert) vrsis upisivanje novih slogova?


DbExpress , a slogove dodajem sa Append
[ Vic @ 06.10.2008. 11:03 ] @
U tome ti i lezi problem. Pretpostavljam da kopiras podatke iz jedne tabele u drugu. Probaj da radis insert umesto append, pa vidi kako se ponasa.
[ savkic @ 06.10.2008. 12:20 ] @
Ni Append ni Insert metode dataseta već SQL komponenta i prepared INSERT. Tačna sintaksa zavisi od komponenti ali ti je ovo osnovna ideja.

Code:

Transaction.Start;
Qry.SQL := 'INSERT INTO TABLE (ID, A) VALUES (:ID, :A);';
Qry.Prepare;
for i := 0 to 1000 do
begin
  Qry.Params[0] := i;
  Qry.Params[1] := 'A';
  Qry.ExecSql;
end;

Transaction.Commit;