Subject | Re: [firebird-support] Best way to work with low-speed connection |
---|---|
Author | Martijn Tonies |
Post date | 2005-01-28T11:38:53Z |
Hello,
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
> Until now I didn't have to take care about really low-speedFirst things first..
> 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?
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