[Lazarus] No cursor in Lazarus

Paul van der Vlis paul at vandervlis.nl
Fri May 30 11:25:36 CEST 2008



On Fri, 30 May 2008, Graeme Geldenhuys wrote:

> On 29/05/2008, Michael Van Canneyt <michael at freepascal.org> wrote:
> >  I did a test once with 600.000 records in a single transaction.
> >  No problem.
> 
> Thanks Michael, that's good to know.
> 
> 
> >
> >  Try to switch off 'forced writes' in your firebird config file, that
> >  should speed up things.
> 
> OK, I've done that and will try another huge insert to see how it performs.
> 
> 
> >  And increase the number of in memory pages of
> >  your server. The default setting is ridiculously low.
> 
> I'm not familiar with tweaking Firebird, but hope to learn more about
> the internals and finer details of Firebird over the next few months.
> Could you be more specific as to what config setting you are referring
> to? There are a lot of settings in the firebird.conf file.

DefaultDbCachePages = 2048

2048 pages is the default. 
To calculate the amount of memory, multiply with the page size (8, 16 or 32 Kb)

I put this to 50000 or so, for large databases.

You may want to check
MaxUnflushedWrites
MaxUnflushedWriteTime 
as well.

> Yesterday I left the test program running which inserted the remainder
> of the records. 460k master records and 10 times that in details
> records. It took 285 minutes on my P4  2.40GHz with 1 Gig memory. :)
> I believe the allocating of disk space was the major cause for the
> slowness. I'm going to empty that database tables and hopefully the
> actual db file doesn't shrink - then run the insert again to see how
> long it takes without the need to allocate disk space.

Normally it does not shrink. Only a backup-restore cycle will do that.

Michael.



More information about the Lazarus mailing list