Subject | Re: [IBO] Slow stuff |
---|---|
Author | Joe Martinez |
Post date | 2002-06-02T06:54:34Z |
Jason,
Was there something specific that was done between Gc and Hc in this regard, or
are you just recommending that I do it in general for other reasons?
I'm not sure what you mean by "the proper indexes". The dataset in question is
a TTable, and is not sorted in any particular order. The records are just in
the order that they were inserted. The table does have a primary key, and
several other indexes on commonly-searched fields. It doesn't have any
descending indexes, but I don't see how indexes help if the dataset is not in
any particular order.
Perhaps the following questions will help my understanding:
1) When a TTable is opened, what exactly is transferred to the client? I know
that it doesn't download all of the records, but does it at least get a list of
all the keys?
2) Same question as above, but for TQuery.
3) What does IBO do when Last() is called? I would think that it would just
fetch the desired record by doing a query by the key. If it already knows the
key, it should be pretty quick to do that. If it doesn't know the key, then how
does it get it?
-Joe
Jason Wharton wrote:
Was there something specific that was done between Gc and Hc in this regard, or
are you just recommending that I do it in general for other reasons?
I'm not sure what you mean by "the proper indexes". The dataset in question is
a TTable, and is not sorted in any particular order. The records are just in
the order that they were inserted. The table does have a primary key, and
several other indexes on commonly-searched fields. It doesn't have any
descending indexes, but I don't see how indexes help if the dataset is not in
any particular order.
Perhaps the following questions will help my understanding:
1) When a TTable is opened, what exactly is transferred to the client? I know
that it doesn't download all of the records, but does it at least get a list of
all the keys?
2) Same question as above, but for TQuery.
3) What does IBO do when Last() is called? I would think that it would just
fetch the desired record by doing a query by the key. If it already knows the
key, it should be pretty quick to do that. If it doesn't know the key, then how
does it get it?
-Joe
Jason Wharton wrote:
> Upgrade to Hc and then make sure you have the proper indexes (descending
> ones too).
>
> Jason Wharton
> CPS - Mesa AZ
> http://www.ibobjects.com
>
> ----- Original Message -----
> From: "Joe Martinez" <joe@...>
> To: <IBObjects@yahoogroups.com>
> Sent: Saturday, June 01, 2002 10:30 AM
> Subject: Re: [IBO] Slow stuff
>
> > I'm using 4.2 Gc.
> >
> > -Joe
> >
> > Jason Wharton wrote:
> >
> > > What version of IBO are you using?
> > >
> > > Jason Wharton
> > > CPS - Mesa AZ
> > > http://www.ibobjects.com
> > >
> > > ----- Original Message -----
> > > From: "Joe Martinez" <joe@...>
> > > To: "IB Objects" <IBObjects@yahoogroups.com>
> > > Sent: Saturday, June 01, 2002 12:10 AM
> > > Subject: [IBO] Slow stuff
> > >
> > > > Since porting my app from BDE to IBO (TDataset-compatable objects), I
> > > > have noticed some things that seem to be a lot slower than they were
> > > > previously under the BDE.
> > > >
> > > > The first is calling Last() on a dataset, when starting from the first
> > > > record. It's taking about 1 minute on a 13,000 row dataset. The
> second
> > > > is doing a SetKey() and GotoKey() operation. This is taking about a
> > > > minute as well. Both of these took a lot less time before.
> > > >
>
>
> ___________________________________________________________________________
> IB Objects - direct, complete, custom connectivity to Firebird or InterBase
> without the need for BDE, ODBC or any other layer.
> ___________________________________________________________________________
> http://www.ibobjects.com - your IBO community resource for Tech Info papers,
> keyword-searchable FAQ, community code contributions and more !
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/