On Fri, 30 May 2008, Graeme Geldenhuys wrote:
> On 29/05/2008, Michael Van Canneyt <[EMAIL PROTECTED]> 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. _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
