Subject Re: [firebird-support] Re: Import of > 1 mio. records
Author Dan Wilson
On 3/19/2005 at 8:41 PM Dennis Mulder wrote:

> dwilson805 wrote:
>
> > Make sure you use a real hard-commit: don't use commit-retaining.
>
> I guess you're right, but why not commit-retaining? I thought that also
> committed the transaction but held the dataset open.
>
> Dennis
>

Helen says it better than I can:

From The Firebird Book, page 547:

"In a busy environment, the COMMIT RETAIN option can save time and resources, but it has some serious disadvantages:
A snapshot transaction continues to hold the original snapshot in its view, meaning the user does not see the effects of committed changes from other transactions that were pending at the start of the transaction.
As long as the same transaction continues being committed with RETAIN, resource "housekeeping" on the server is inhibited, resulting in excessive growth of memory resources consumed by the TSB. This growth progressively slows down performance, eventually "freezing" the server and, under adverse operating system conditions, even causing it to crash.
No old record versions made obsolete by operations committed by a COMMIT RETAIN transaction can be garbage collected as long as the original transaction is nerver "hard committed.""

Indeed, Thomas later reported that he was using AutoCommit, which does a commit retaining, and he saw the server slowdown that Helen documents.

HTH,

Dan.