Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert
Online

Registriert seit: 15. Mär 2005
679 Beiträge
 
FreePascal / Lazarus
 
#55

Re: Firebird Import aus Textdatei extrem langsam

  Alt 17. Sep 2009, 09:19
und wenn du deinen import noch mal richtig beschleunigen willst, dann bau in deinem Delphi Programm deine Textdatei auf ein fixedformat um (also pro spalte eine feste anzahl an zeichen, nicht genutzte mit Leerzeichen auffüllen). Danach schaust du dir die Deaklaration eines external files in Firebird an (geht in IBExpert mit einem assisetnten im Table editor, wichtig: in der Firebird conf vorher ein directory für external files freigeben.

im sql editor geht das auch direkt

create table imp external file 'C:\imp.txt'
(ID CHAR(18),
TXT1 CHAR(80),
TXT2 CHAR(80),
TXT3 CHAR(80),
CRLF CHAR(2))

usw, dann kannst du mit "insert into tabx select * from imp" extrem schnell daten importieren, je nach hardware durchaus bis 100.000 records pro sekunde!

alternativ ab fb2 einfach dein SQL mit

execute block
as
insert .....;
insert .....;
insert .....;
.....
insert .....;
insert .....;
end

aufbauen, damit gehen mehrere Inserts pro sql

aber immer wichtig: aktive Transaktionssteuerung
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat