Subject RE: [firebird-support] Re: Facing Problems in executing the Select query
Author Alan McDonald
> >
> > > > >What if start transaction & commits are not written explicitly
> > > (since
> > > > >the query in question is a select query)? Will they still work
> > > > > implicitly?
> > > >
> > > > I'm not sure if you're aware of but FB needs a transation even
> for
> > > read only
> > > > operations (like SELECT), so whether or not you've 'explicitly'
> > > started one,
> > > > the transaction was created (by your 'connection components')
> and
> > > (hope)
> > > > commited at some point.
> > > >
> > > > Regards,
> > > > Anderson
> > > >
> > >
> > >
> > >
> > > I see.
> > > In our case, as i had earlier mentioned, each query would be
> within
> > > its own transaction. When we execute the same query for say 40
> > > times, the number of i/o reads is comparabable to the number of
> i/o
> > > writes. However, when the loop goes to around 10,000, the number
> of
> > > i/o writes is very much larger than the number of i/o reads.
> > > Any clue?
> > >
> > > Bipasha
> > >
> >
> > are you committing each transaction before starting the next? or
> are you
> > leaving the first transaction open until the last is ready to
> commit?
> > and that's all you're doing in this 10,000 cycle loop?
> >
> > start transaction
> > select data
> > commit transaction
> > loop
> >
> > ?
> > Alan
> >
>
>
> Yes, only the query is being looped in this 10,000 loop.
> We are not starting & committing the transaction explicitly, since
> it is only a select query.
> To measure the I/O activity we are checking the I/O read/ write
> values against the firebird service (fbservice.exe) in task manager
> while the query is in execution.
>
> Bipasha

I just checked one of my client's servers which has a 24/7 callcentre
running against FB.
uptime since last reboot, 60 days
For fbserver process:
I/O Reads: circa 21 million
I/O Writes: circa 3.6 million

I would count on this being normal judging by the overall performance of the
app and task at hand.
If you have something very odd compared to this balance then something is
wrong with your code or your task is very unusual.
Alan