[Lazarus] fpdoc enhancements

Michael Van Canneyt michael at freepascal.org
Thu May 29 20:58:12 CEST 2008



On Thu, 29 May 2008, Graeme Geldenhuys wrote:

> Hi,
> 
> I'm working on a SQL RDBMS tool, testing Index performance. My overall
> goal is to insert 500,000 records in a master table and 5mil in a
> details table.
> 
> Using SqlDB, can I do this without transactions, as I don't care about
> data integrity. If I could, would that speed things up? Currently I'm
> working on a Firebird database, but once the tool is complete, I'll
> try other databases like MySQL, MS SQL Server etc...
> 
> At the moment I do a 'commit' every 100 master table records, which
> includes 10 times that number in details records.  Could I go higher?
> Is there a optimal record count per transaction?

No. 
I did a test once with 600.000 records in a single transaction.
No problem.
 
> 
> As a side note:
>  Due to initial Firebird databases being small 600K in size, the hard
> drive slows down the process a lot while the database grows. Inserting
> 20,000 master records increased the database size from 45Mb to 87Mb
> and that took 496s, which is damn slow I think. But then, my hard
> drive went crazy while inserting!
> 
> Can I pre-allocate a database size with Firebird?  What about other
> database servers? I know with MS SQL Server you can.

You cannot pre-allocate size. There should be no need for this.

Try to switch off 'forced writes' in your firebird config file, that 
should speed up things. And increase the number of in memory pages of 
your server. The default setting is ridiculously low.

Michael.



More information about the Lazarus mailing list