Subject Re: Fastest method of moving records between databases?
Author Paul R. Gardner
Milan,

Thank you for the response.

> Could you define more closely what "slow" means. How many records per
> second?

Between 15 and 100 records per second depending on record size and how many
concurrent tables are being processed. Sweep is set to 0, and all
update/insert triggers are marked inactive. Each table is done in its own
connection and the transaction is committed at the end of the processing.
Some tables have 1,000,000+ records and 12 hours seems far too long to
wait for a 1GB database to be processed.

> Did you consider disabling forced writes?

Actually yes, I am doing that.

> Also, take a look at statistics, do you do more inserts or updates. If
> you have more inserts maybe it would be a better idea to insert and then
> update if it fails because of PK or Unique constraint.

About 100 tables are insert only and do not get checked. (I can already
guarantee these records do not exist in the new database. About 120
tables check for a record to exist first. 2/3 of the records in the database
are in the first 100 tables, so they are not being selected from the new
database.

Firebird's processor usage won't go above 30% and is typically around 5%.
CPU Affinity is set to 15.

Paul


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