Subject | Re: help needed. browsing slows down after a days work |
---|---|
Author | mmenaz |
Post date | 2001-12-12T00:34:53Z |
--- In IBObjects@y..., "Artur Anjos" <arsoft@n...> wrote:
the number of FIELDS. Don't care if you use it or not in a Huge or
Small Table.
returned by the server.
In the question, it appeared to me reasonable clear that very often
in his program there is NO where caluse at all. Why do you guest that
there is one?
In the question he says also:
"the query for the grid loads perhaps 6000 records"
a little reducing "where" indeed...
this turning 'AutoFetchAll' to False, and playing with MaxRows and
MaxTicks. Read the help file.
You must consider that MaxRows default is 0 (no limit), and even if
you set it to a different value, a query that fetches a huge amount
of data just to display them into a grid in a form that stais open
all day long is a non-sense.
transaction related:
Isn't the first thing I said in my reply?
(first sentence...)
It's not clear if the problem is in all the workstation connected to
the server, of in each workstation after it's on for that time (I
mean, I have 5 workstation slow, then I turn on the 6°... is it
fast?)
keep it open until the user close the form. Try to keep it simple
like 'open transaction, do your changes, close transaction'. Post it
or Roll back, but do something.
problem, and the performance penalty, of leaving transaction open for
a long time.
regular basis, or at user request, reperform the query
master/detail mechanism) for some update).
have requested. It's wonderful "under the hood" features start
fetching all the rows in the background, so your client will be
filled with all the rows as time passes. So bad for you!
> I will try to give my 10 cents here. I think that this text is atsome point mixing things up. So, here it goes:
>related to the number of rows that will be returned. It depends of
> select * from MyHugeDatabaseTable
>
> The use of a expression like this is very acceptable, and it is not
the number of FIELDS. Don't care if you use it or not in a Huge or
Small Table.
>'where' clause. That's the way you restrict the number of rows
> The part that is related to the number of rows is related to the
returned by the server.
In the question, it appeared to me reasonable clear that very often
in his program there is NO where caluse at all. Why do you guest that
there is one?
In the question he says also:
"the query for the grid loads perhaps 6000 records"
a little reducing "where" indeed...
>will be returned from a 100000000000 records table. You can play with
> With IBO you can do better: you can define the number of rows that
this turning 'AutoFetchAll' to False, and playing with MaxRows and
MaxTicks. Read the help file.
You must consider that MaxRows default is 0 (no limit), and even if
you set it to a different value, a query that fetches a huge amount
of data just to display them into a grid in a form that stais open
all day long is a non-sense.
>a lot of time on this explanation), but I think the problem is
> I think Marco is wrong in this explanation (sorry, Marco, you spend
transaction related:
Isn't the first thing I said in my reply?
(first sentence...)
>If you open a transaction and keep the transaction open for a longtime, thats a problem that can slow down IB after some time.
It's not clear if the problem is in all the workstation connected to
the server, of in each workstation after it's on for that time (I
mean, I have 5 workstation slow, then I turn on the 6°... is it
fast?)
>transactions. My guess is that you are openning the transaction and
> So, this is my suggestion: see what you are doing with the
keep it open until the user close the form. Try to keep it simple
like 'open transaction, do your changes, close transaction'. Post it
or Roll back, but do something.
>work
> I hope it helps,
>
> Artur Anjos
>
> ----- Original Message -----
> From: mmenaz
> To: IBObjects@y...
> Sent: Tuesday, December 11, 2001 6:43 PM
> Subject: [IBO] Re: help needed. browsing slows down after a days
>issues, but I've read a lot of times in this newsgroup about the
>
> I've not huge database, and I'm not an expert of performance
problem, and the performance penalty, of leaving transaction open for
a long time.
> First of all, C/S programming is based, for interactive use, ofSMALL amounts of data, so you should avoid having something like
> select * from MyHugeDatabasesee all the 100,000 rows inside.
> Since it's very unlikely that the user will scroll the grid to
> If he needs to control last inserted/modified records, add atimestamp to the table definition, updated by triggers, and in a
regular basis, or at user request, reperform the query
> select * from MyHugeDatabase where WHEN_MODIFIED <= '12/05/0112:15'
>(and, maybe, have another dataset chained to the actual record (using
> If the browsing is read only, set the dataset to read only too
master/detail mechanism) for some update).
>that you really need all the rows from the table, since it's what you
> Consider that IBO, for a select * from MyHugeDatabase, thinks
have requested. It's wonderful "under the hood" features start
fetching all the rows in the background, so your client will be
filled with all the rows as time passes. So bad for you!
>have
> Just a contribution :)
> Regards
> Marco Menardi
>
>
> --- In IBObjects@y..., "DennisFantoni" <df@i...> wrote:
> > I've gotten this weird bugreport from my customer, and they
> > confirmed the problem is not only one computer, but all of them.query,
> >
> > they have an application with an interbase6 server and abt. 20
> > workstations.
> >
> > whe a workstation is on, it shows a ib_grid that connects to a
> > typically something like select * from table (returning lotsof rows)
> >considered.
> > The application works fine and browsing is quite fast, all
> >Perhaps
> > But after 5-6 hours work, brosing becomes really really slow.
> > 20 times slower than at the beginning.applications
> >
> > Does anyone have any idea what this could be? Usually my
> > start being slow, and stays so ;-) ( or starts being fast andstays
> > so..).over time?
> >
> > Is there something in ibo or interbase that might go slower
> >never
> > the query for the grid loads perhaps 6000 records.
> >
> > I would like some pointers as to where to look for problems. I
> > used ib_grids before - the other ibobject applications that imade
> > were not using db-aware controls. This application was notprogrammed
> > by myself, but the programmer seems to have known the databaseaware
> > objects quite well. Still, he migt've done something wrong thattry to
> > causes things to slow down.
> >
> > My own idea of attacking the problem right now, is to somehow
> > get the slowing down to occour at my own computer, then to seeif
> > there's any local memory leaks.
> >
> > Dennis
>
>
>
> [Non-text portions of this message have been removed]