Fórum Formulario lento #384247

21/08/2010

0

Tenho um form de consulta de clientes, existem 35.000 clientres cadastrados. o formulário apresenta lentidão ao abrir. o form contem um dbgrid e a consulta é feita por um campo usando o evento onchange.

o que faço para acabar co a lentidão.

uso o firebird 1.5
SQlconnection
SQlDataSet
DataSetProvider
ClientDataSet
DatSource
Benilton

Benilton

Responder

Posts

21/08/2010

Marco Salles

Tenho um form de consulta de clientes, existem 35.000 clientres cadastrados. o formulário apresenta lentidão ao abrir. o form contem um dbgrid e a consulta é feita por um campo usando o evento onchange.

o que faço para acabar co a lentidão.

uso o firebird 1.5
SQlconnection
SQlDataSet
DataSetProvider
ClientDataSet
DatSource
..   OnChange so para dados que estão em memória . Pelo que se entende vc esta consultando a base de dados   Uma tabela com 35000 não é tao pequena assim   Vc deve usar Indices na Base de dados , eles melhoram consideralvemente a Consulta   Vc deve parametrizar a consulta , Vc deve estar usando o Like que impede o trafigo exagerado na Rede   Se vc quiser usar o onchange limite o Numero de caracters para disparar a consulta   existe tb uma opção interressante no clientDatSet que é o PacketRecords   a)com FetchOnDemand ativado Com ele vc tras os dados por Demanda e o  próprio ClientDataSet detecta quando mais registros são necessário e traz por demanda (daí o nome FetchOnDemand)   b)FetchOnDemand desativado você solicita novos pacotes de dados, através do método GetNextPacket do CD          
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar