Subject Re: RES: [firebird-support] How to improve update performance with millions records?
Author Thomas Steinmaurer
> --- In firebird-support@yahoogroups.com, Thomas Steinmaurer<ts@...> wrote:
>>
>>> --- In firebird-support@yahoogroups.com, "Fabiano"<fabianoaspro@> wrote:
>>>>
>>>> What frequency do you backup/restore this database?
>>>> This database can not stop, It used to realtime collect data.
>>> so no restore only backup, backup it once a week.
>>>> What firebird version? SS CS?
>>>> FB2.5 SS, i use FB2.1 SS to test,same result.
>>> OS is win XP, change to Win 2008 Server, same result.
>>>> What your garbage policy?
>>>> Sweep interval = 200 to 20000, when sweeper run, the update speed
>>> become more slowly than normal.
>>
>> Could be:
>>
>> * Background garbage collection (data + index)
>> * Automatic sweep kicking in
>> * Using AutoCommit/Commit Retaining without doing a hard commit from
>> time to time
>>
>>
>> - Is this a single client attachment/application doing the work or are
>> Yes, now test only. a single client can update.
>>
>> multiple attachments connecting to the database?
>> when testting, three client attachments, but only connect, none operation.
>>
>> - Can you clarify what the update process exactly does?
>> i write a app with delphi7 + dbx, for test
> for i from 1 to N do
> {
> start transaction;
> for j from 1 to 1000 do
> {
> execute a update statement;
> /*update table1 set .... where rid = :rid;
> rid is primary key of table1
> table1 is a single table, not depend on other table or proc...
> */
> }
> commit transaction;
> }

I haven't asked for pseudo-code. I will kick in again, if you show us
real Delphi code. ;-)


Regards,
Thomas