Subject Re: [firebird-support] Re: Issue with large table in FB 1.5 and 2.5
Author Mark Rotteveel
On 30-5-2019 01:26, myles@... [firebird-support] wrote:
> >To me this sounds like the cooperative garbage collection kicks in when
> you select from the table. You may want to consider dropping the table
> entirely and recreating it. Alternatively, switch to SuperServer and set
> its garbage collection policy to background (I believe this was
> introduced in Firebird 2.0 or 2.1, so won't help with Firebird 1.5).
> Thanks Mark.  I have actually done a complete drop on the table once,
> but it has 27 stored procedures that are dependent on it, so they all
> have to be dropped too.  I did write a Linux script to do that, but
> after I had done it I had read that this might not make any difference
> to the garbage collection unless I do a backup & restore of it
> afterwards.  Does that make sense to you?

No, because dropping the table will mark all datapages used for the
table as 'free', and they will automatically be reused without requiring
garbage collection.

Alternatively, consider using an external table instead. Instead of
deleting from the table or dropping the table, you can delete the file
backing the external table. The first insert will recreate the file
(empty). Just be aware you can't have constraints or indexes on it.

Mark Rotteveel