Subject Re: [firebird-support] Best way to work with low-speed connection
Author Martijn Tonies
Hello,

> Until now I didn't have to take care about really low-speed
> connections, since all my apps were used in LAN environment with
> 10/100Mbps or higher speed connections.
>
> I use FB1.5, IBX and Delphi 7.
>
> Usually I use TIBSQL as fastest way to send/get data.
> However, if I have to get a query with result including e.g. 1000
> records, getting all of them and iterating through result set can take
> too much time (on my 'new' testing environment with speed of 7kB/s,
> almost 8 seconds for getting 1000 rows with only two fields - one
> varchar and one integer).
>
> First version used IBQuery connected to TDBGrid, but I decided to go
> with IBSQL and simple ListBox or similar component. With IBQuery
> (which is, as much I understand scrolled when necessary) results were
> displayed quicker, but other functions (e.g. selecting item and
> getting additional data from database) were slower - perhaps because
> IBQuery makes 'scrolling' during selection or something like that... I
> am not sure.
>
> I believe, best solution would be partial fetch of result records
> (with FIRST/SKIP).
>
> Are there any developers working in similar low-speed environemnts?
> Any results or ideas you would like to share it?

First things first..

1) do not get more rows than you need.

2) cache data into TClientDatasets when possible (eg: lookup data)

3) use Zebedee (google for that one)

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server
Upscene Productions
http://www.upscene.com