Subject | Re: [firebird-support] Database Size |
---|---|
Author | Svein Erling Tysvaer |
Post date | 2006-09-21T13:49Z |
Priebe, Joern (GE Indust, Security) wrote:
problem, but being that the oldest active transaction is less than half
of next transaction, these numbers certainly makes me suspicious about
your transaction handling. Firebird has to keep every value that you
have inserted/updated or deleted in these 1900 transactions, because
there is still at least one transaction around that may be interested in
values as they were, and not the current value of your records (Firebird
uses a versioning system, so that a field in a record can have different
values depending on which transaction that asks for information). Hence,
the only space for Firebird to reuse are amongst your first 1800
transactions, it cannot remove any values from the last 1900 because of
this (or these) uncommitted transaction(s). As long as the gap between
these transaction numbers are growing, your database will continue to
grow. Once the gap stops growing, it is likely that the database growth
will cease (provided that your transactions do approximately the same as
they did before).
Set
> Oldest active 1793You have a gap of about 1900 transactions, that may or may not be a
> Oldest snapshot 1790
> Next transaction 3708
problem, but being that the oldest active transaction is less than half
of next transaction, these numbers certainly makes me suspicious about
your transaction handling. Firebird has to keep every value that you
have inserted/updated or deleted in these 1900 transactions, because
there is still at least one transaction around that may be interested in
values as they were, and not the current value of your records (Firebird
uses a versioning system, so that a field in a record can have different
values depending on which transaction that asks for information). Hence,
the only space for Firebird to reuse are amongst your first 1800
transactions, it cannot remove any values from the last 1900 because of
this (or these) uncommitted transaction(s). As long as the gap between
these transaction numbers are growing, your database will continue to
grow. Once the gap stops growing, it is likely that the database growth
will cease (provided that your transactions do approximately the same as
they did before).
Set