Subject Re: updates getting slower and slower
Author lutz_mueller2003
--- In firebird-support@yahoogroups.com, "Martijn Tonies"
<m.tonies@u...> wrote:
>
> > > > i have a table with only 1 record. i run updates like
"update
> > > > field=field+? where pk_id=?" on this record. the updates are
> > > > executed by one process, and come in transactions which
include
> > > > about 1000 updates. while the first transaction takes about
> > 1.5sec
> > > > the 100. transactions takes up to 15sec. and it gets slower
and
> > > > slower. what could be the reason for this ? my first guess
was
> > the
> > > > mga , but there are no concurrent transactions, since the
> > statements
> > > > are executed sequentially by just one process. does anybody
know
> > > > what is causing this decrease in performance?
> > >
> > > Do you commit the transaction?
> > >
> > > Do you have a read transaction opened?
> >
> > i commit the transaction every 1000 updates. there are no other
> > transactions running against this database.
>
> No SELECTs?
>
> > > Take a look at the transaction counters with "gstat" and post
> > > them here.
> > >
> >
> > at what time should i check the counters? before i start the
> > transactions, during the run of the program, or afterwards?
>
> When it's slow.
>
> With regards,
>
> Martijn Tonies
> Database Workbench - developer tool for InterBase, Firebird, MySQL
& MS SQL
> Server.
> Upscene Productions
> http://www.upscene.com

ok, here come the statistics (when its slow):

Database header page information:
Flags 0
Checksum 12345
Generation 688
Page size 4096
ODS version 10.1
Oldest transaction 685
Oldest active 686
Oldest snapshot 686
Next transaction 687
Bumped transaction 1
Sequence number 0
Next attachment ID 0
Implementation ID 19
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Oct 25, 2004 13:19:14

/
REPORTKONTOTAG (152)
Primary pointer page: 237, Index root page: 238
Data pages: 7, data page slots: 7, average fill: 84%
Fill distribution:
0 - 19% = 1
20 - 39% = 0
40 - 59% = 0
60 - 79% = 0
80 - 99% = 6

Index FK_REPORTKONTOTAG_REPORTKONTO (1)
Depth: 1, leaf buckets: 1, nodes: 1
Average data length: 3.00, total dup: 0, max dup: 0
Fill distribution:
0 - 19% = 1
20 - 39% = 0
40 - 59% = 0
60 - 79% = 0
80 - 99% = 0

Index PK_REPORTKONTOTAG (0)
Depth: 1, leaf buckets: 1, nodes: 1
Average data length: 14.00, total dup: 0, max dup: 0
Fill distribution:
0 - 19% = 1
20 - 39% = 0
40 - 59% = 0
60 - 79% = 0
80 - 99% = 0