[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