Subject Re: [firebird-support] performance problem after "large" deletes (bug?)
Author Ann W. Harrison
At 07:29 AM 11/22/2004, Alexander Marx wrote:


>it does not explain why the garbage collection, initiated
>by a client's select statement, takes >50000 seconds?!?
>(with 100% cpu; i'd think of garbage collection as a disk i/o
> bound process e.g. not constantly 100% cpu)
>
>so i still think we must be hitting a bug or somethin ...

Do you have an index with lots of duplicates - that produces
the symptoms you're seeing - very slow CPU bound garbage
collection. Disabling that index, or making it a compound
index with a second portion that is more selective (i.e.
sex, student_number rather than just sex) should correct
the problem. As does Firebird 2.


>hm, can i somehow disable that garbage-collection stuff on selects?
>setting sweep intervall to "0" does not seem to make a difference
>again results in a 50000 seconds "wait" on the first select ...

Setting the sweep interval has no effect on garbage collection by
the garbage collect thread or active transactions. You can disable
garbage collection on a transaction by transaction basis - check
the tpb options - but that's an unfriendly thing to do and will
tend to make your database much slower over time. My guess is
that your problem is with a non-selective index and correcting
that will improve everything

Regards


Ann