Subject Re: [firebird-support] Isertion time grows linearly with database size
Author Alec Lebedev
I am using Firebird 2.1.2 with Jaybird 2.1.6.

To be precise, the insertion time grows linearly with the number of records in the table.

I do not start an explicit transaction, so I am assuming that Jaybird inserts each row in a separate transaction or no transaction at all.

I am running with default database configuration. Where can I check how many buffer pages are set up for the database?

Thanks!

Here is performance test trace.


Test Trace Firebird (ms.)
Inserting 1000 rows in the database with 1000 rows took 2188
Inserting 1000 rows in the database with 2000 rows took 3078
Inserting 1000 rows in the database with 3000 rows took 5313
Inserting 1000 rows in the database with 4000 rows took 7860
Inserting 1000 rows in the database with 5000 rows took 10500
Inserting 1000 rows in the database with 6000 rows took 13360
Inserting 1000 rows in the database with 7000 rows took 15688
Inserting 1000 rows in the database with 8000 rows took 17891
Inserting 1000 rows in the database with 9000 rows took 20125
Inserting 1000 rows in the database with 10000 rows took 22375




________________________________
From: Dmitry Yemanov <dimitr@...>
To: firebird-support@yahoogroups.com
Sent: Monday, August 17, 2009 9:50:10 AM
Subject: Re: [firebird-support] Isertion time grows linearly with database size


Alec Lebedev wrote:

> I have been running performance tests on Firebird and noticed that the time it takes to insert a record in a table grows linearly with the size of the database. The table structure is very simple and has a primary key and no other indexes.

With the size of the *database* or the *table* you insert into?
What FB version? How many buffer pages are set up for this database?
Do you insert in a single transaction or in multiple ones?

Dmitry



[Non-text portions of this message have been removed]