Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#15

Re: Firebird Import aus Textdatei extrem langsam

  Alt 14. Sep 2009, 06:17
Delphi-Quellcode:
        
        with DM_User.SQLQueryTemp do
        begin
          with SQL do
          begin
            Clear;
            Add(sqltxt);
          end;
          ExecSQL(true);
        end;
Ich würde die Query nur einmal zu Beginn des Einlesens erzeugen und den SQL-Text zuweisen, dabei dann mit Parametern arbeiten:
insert into tabelle(f1, f2, f3, ...) values (:f1, :f2, :f3, ...) In der Einleseschleife dann die Parameter zuweisen und ExecSQL aufrufen. Vorteil: die Query wird vom Server nur einmal erzeugt und dann für jedes Insert wiederverwendet. ("Prepared Statement").

Eventuell hilft es auch noch, die ganze Sache in einer Transaktion laufen zu lassen.

Viele Grüße,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat