Subject | Re: FB Database gets slow and grow up to much with the time passed.. |
---|---|
Author | Svein Erling Tysvær |
Post date | 2005-06-04T20:16:54Z |
Hi Adrian!
Whenever a record is modified, Firebird stores a new version of that
record. Every time that record is asked for, Firebird has to find the
correct version of the record to return. Which version that is depends
on which transaction asked for it. Old version of records are removed
when there's no possibility that they will be referenced anymore.
What you are describing is typical for long running transactions. Such
long running transactions prevents Firebird from marking old versions
of records as obsolete. Run some statistics and check that there is a
big gap between the oldest active transaction and the next
transaction. If so, then that is your problem. Find the place in your
programs that do not commit records (or soft commits, that is not a
proper commit) and rectify the problem.
Transactions are a fundamental part of Firebird that has to be
properly controlled.
HTH,
Set
Whenever a record is modified, Firebird stores a new version of that
record. Every time that record is asked for, Firebird has to find the
correct version of the record to return. Which version that is depends
on which transaction asked for it. Old version of records are removed
when there's no possibility that they will be referenced anymore.
What you are describing is typical for long running transactions. Such
long running transactions prevents Firebird from marking old versions
of records as obsolete. Run some statistics and check that there is a
big gap between the oldest active transaction and the next
transaction. If so, then that is your problem. Find the place in your
programs that do not commit records (or soft commits, that is not a
proper commit) and rectify the problem.
Transactions are a fundamental part of Firebird that has to be
properly controlled.
HTH,
Set
--- In firebird-support@yahoogroups.com, "adrian_avila_mtz" wrote:
> We have an application that work w/o interruptions with
> Firebird 1.52, the Database process transacctions 24/7, after some
> days the transaccions get slower and the Database grows to much (in
> a period of 1 to 2 weeks)
>
> The solutions we take are:
>
> 1.- Reset the server
>
> 2.- Backup and restore the database (after that the side of the
> database shrinks a lot)
>
> My question is why do this ocurrs?
>
> and what could it be the solution?
>
> The application MUST NOT STOP, so, how can we purge the dabase w/o
> shut it down or avoid the problems explained?
>
> Thx.