Subject Firebird single-user performance - "GBAK" mode?
Author medelski
Hello everybody,

I am writing a program that merges 3 8GB Firebird databases and then does a lot of transformations to the resulting 20 GB database. (BI ETL process). The proces is to be run every night and it is assumed that no other user can connect to the resulting database during the process. Can I make my program run in a "gbak" mode, so that there would be no record version and transaction locking overhead? An exclusive mode that would ignore any transaction isolating and record versioning? At the moment the process is very very slow and runs for hours. I need a simple stupid "DBF" like mode that would just overwrite records and go ahead. There are several bilion record updates and I need to run several "gfix -sweep" instructions to during the process to even make it happen.
The program is written in Delphi with InterBase Express Components - TIBDatabase, TIBTransaction, TIBQuery. The transaction params at the moment are:
read_committed
rec_version
nowait
Database params:
user_name=SYSDBA
isc_dpb_password=****
default character set win1250
sql_role_name=1
lc_ctype=WIN1250

Thank you very much for any advice!