Re: ADO / Clientdataset slowness

From: Bill Todd (no_at_no.com)
Date: 11/23/04


Date: 23 Nov 2004 09:18:33 -0700

The delay is caused by the ClientDataSet reading all 6,000 records from
the server into local memory. First, that is a lot of network I/O.
Second, the ClientDataSet was never intended to store so many records.

There are two things that will improve performance. First, change the
query from SELECT * to SELECT FIELD_FOR_MEMO so you are only returning
one field, not the entire row. Second, change the WHERE clause to
return a smaller result set. A well designed client/server application
should very rarely, if ever, return more than 100 rows.

-- 
Bill (TeamB)
TeamB cannot answer questions received via email


Relevant Pages

  • Re: Record not found or changed by another user
    ... You must set the pfInWhere flag on the ADODataSet, ... ClientDataSet. ... Bill Todd (TeamB) ...
    (borland.public.delphi.database.ado)
  • Re: ClientDataset and SQL queries
    ... You call ApplyUpdates when you want to apply the changes you have made to ... data in the ClientDataSet to the database to make them permanent. ... TeamB cannot answer questions received via email ...
    (borland.public.delphi.database.ado)
  • Re: Record not found or changed by another user
    ... When I'm using clientdataset I don't create the fields in the adodatasets. ... Bill Todd (TeamB) ...
    (borland.public.delphi.database.ado)