Subject Re: [firebird-support] Long running transactions and performance degration
Author Helen Borrie
At 01:07 AM 12/04/2004 +0200, you wrote:
>I have read that long running transactions result in database performance
>degration. It this also true if the long running transaction is a read "only
>read committed record version" transaction?

No. A read-only read committed transaction doesn't affect the housekeeping.


>Will any performance degration, caused by a long running transaction, end
>when the transaction is committed or is it necessary to rebuild the
>database?

No, it's never necessary to rebuild the database to clean up after
long-running transactions. Look at the transaction statistics using gstat
-h. If the gap between the Oldest Transaction and the Oldest Active
Transaction is in the order of thousands, it will be good to perform a
manual sweep to clear out garbage from deletes and rollbacks.

Depending on the volatility of your indexes, it might be a good idea to set
inactive and then set active on some of those, after hours, from time to
time, to rebuild them. And to run SET STATISTICS to recompute selectivity
after a lot of deletes or inserts. You can use gstat -i to look at how your
indexes are doing.

/heLen