Subject Re: exaggerated growth of the data base
Author Adam
--- In, "jj_cd57"
<JRodriguezSoto@...> wrote:
> Hi,
> I'm using Delphi 7 with Firebird 1.5.
> My app load data from a plane file with comma delimitted data and
> insert into DDBB every 15 minutes. It's work fine but another app
> developed with .NET and ODBC doing the same, grows the BBDD up 60%.
> I know that with backup-restore it turn to normal size but the
> problem is that can't do that every day. Can tell me how solve this
> problem.

Firstly, I do not understand your abbreviatons DDBB and BBDD, so
please let me know if they mean something important.

If your .NET application is doing the exact same thing your Delphi
application was doing, and the data files are identical but the .NET
application is causing the database file growth, then you have
transaction management problems in your .NET application.

Unanticipated database growth occurs when your client application
keeps the old versions of a given record interesting for longer than
necessary. If you don't perform a hard commit for an extended period
of time, then your transaction will lock up garbage collection. If
garbage collection did happen, then when your database needed more
space it could re-use one of the pages formerly occupied by a deleted
record. If garbage collection had not happenned, then the database
would need to request more space from the Operating System.

In practice, a database will grow rapidly to start with. It will
quickly hit an operating equalibrium, where the rate of growth will be
proportional to the rate of growth of data. If it never hits the
equalibrium, then you have transaction issues.