Subject RE: [IBO] IBO speed vs BDE?
Author Kaputnik
Chuck,

Foxpro is a local database system.
When running large queries, foxpro will access the db-files directly, and
thus be lightning fast.
The same results are achieved with bde and paradox.
When you open a table and jump to the last record, foxpro will simply jump a
certain amount of bytes (record-lenght is known) and you stepped through a
million records in parts of a second.
Interbase is a RDBMS. thus, it does not know tables, only result-sets. when
you select a table, a result-set will be built and only a uni-directional
cursor will be deliverd, which you must step through one recurd by the
other. thus, a last-command will need much longer as you can't skip records.
Doing queries over large result-sets or multiple result-sets with 40k
records will need you to open this result-sets and fetch all 40k records
into the internal buffers of your application. with foxpro, you didn't need
the internal buffers, but you did access the records directly, so the 40k
fetches were not necessary, and thus multitudes faster. also, adding 40k
records to the internal buffer takes an amount of time, as the
memory-manager will need to allocaste ram for every record added....on
machines with not so much ram, or on win 9x/ME (where the system cannot
access more than 128MB ram directly) you will have large slowdowns in the
app, as virtual memory has to be allocated, and the harddisk becomes your
slow end...

In order to help you, I would like to see your select-statements. Analyzing
these, many people here will be able to help you.
Remember, there is a big paradigm-shift when moving from ISAM to RDBMS.
Local DB-apps will almost always be faster with ISAMS, if programmed in the
classical style. But you can optimize your app to be still much faster with
IB, you only need to know, how to do it :-)

A few things mentioned were e.g. the use of Stored procs or the redesign of
the tasks you do.

CU, Kaputnik
(Nick Josipovic)

nick@... <mailto:nick@...>
kap@... <mailto:kap@...>
--------------------------------------------------------------
superior Client/Server programming:
www.IBObjects.com <http://www.IBObjects.com>
a nice tool for Interbase:
www.InterbaseWorkbench.com <http://www.InterbaseWorkbench.com>



> -----Original Message-----
> From: Chuck Belanger [mailto:phytotech@...]
> Sent: Wednesday, April 18, 2001 10:35 AM
> To: IBObjects@yahoogroups.com
> Subject: Re: [IBO] IBO speed vs BDE?
>
>
> Ang:
>
> You know I'm not really the person to answer this, but in all
> fairness to any
> BDE connection with Interbase, or something else, there is much
> less overhead in
> VFP and if you use properly prepared indexes, "Rushmore"
> technology takes over
> to give phenomenol speed for record sets less than a couple of
> million. I can
> only report what I see in what I use which are admittedly local, desktop
> database applications. It probably is a whole other story when
> comparing the two
> in client server work Even in the FoxPro community most are using
> other backends
> for such work.
>
> I am hoping that there is a way of optimizing Interbase for local
> work. Or, at
> least its faster than what I've seen--5-10 minutes to run a
> fairly straight
> forward series of local queries on about 35k records seems
> awfully slow to me.
> Whether its 10x or 100x faster would depend on actually timing it
> and how one
> sets up the routine. Certainly, "100x" may be somewhat of a
> hyperbole, but 10x
> is a very reasonable quess.
>
> Chuck
>
> Ang Lik Huar wrote:
>
> > Chuck,
> >
> > How can Foxpro is 100x faster than BDE ??
>