Subject Re: [firebird-support] Help
Author Ivan Prenosil
"Helen Borrie" wrote:
>>I'm migrating data from DBFs to firebird tables. The thing is that when the
>>ammount of records is bigger (10000 records), the inserts become slower.
>>Do I have to change something ?. Do I have to perform some clean up?
>
> It's advisable to commit in batches of about 5000 - 8000 records,
> especially if you don't have a lot of memory on the server. The server
> builds up an auto-undo log structure in memory for inserts, which will be
> reset when the transaction commits.

Right, but Firebird is clever enough to not hold undo-logs
for _all_ commands executed inside transaction.
After some point the undo-logs are discarded.

> If you have control over the transaction at API level, you could disable
> this logging by setting the isc_tpb_no_auto_undo parameter.

I have inserted several millions records inside one transaction
and have not noticed any slow down (without disabling auto_undo).
Perhaps the situation is different if you have huge number of indexes ?

Ivan