Einzelnen Beitrag anzeigen

exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#39

Re: Schnellste Insert Möglichkeit für eine DB?

  Alt 8. Mär 2010, 13:47
Zitat von moelski:
Moin !
Was wäre denn ein verträgliches Mass?
Ich habe manchmal 8.000 und mehr "inserts" in einer Transaktion. Das hat noch nie zu Problemen geführt.
Das ist dank Firebirds MGA auch kein sooo wahnsinniger Overhead für die DB. Da würde ich mir keine Sorgen machen.
Und wie ich schon sagte: Es ist schnell.

Delphi-Quellcode:

insertstatement.transaction.starttransaction;

try
  readcsv;
  while not eof(csv)do begin
    insertstatement.paramby.... := ...csv_value....
    insertstatement.paramby.... := ...csv_value....
    insertstatement.paramby.... := ...csv_value....
    ...
    insertstatement.execute;
    readcsv;
  end;
  insertstatement.transaction.commit;
  killcsv;
except
  on e:exception do begin
    insertstatement.transaction.rollback;
    WhateverYouMustDo;
  end;
end;
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat