Fórum Como fazer um Select não trazer todos os registros? #260621

30/11/2004

0

Olá amigos, no meu componente sqldataset coloco no comandtext:

Select * from produtos

Nesse caso trará todos os registros da tabela, o que causa lentidão na abertura do form, como posso limitar esse carregamento, tipo trazer apenas 10 registros.

Utilizo delphi 7 e firebird 1.5

Atenciosamente

Mario


Aldus

Aldus

Responder

Posts

30/11/2004

Vinicius2k

Mario,

Limite ao máximo a quantidade de registros retornados através da condição WHERE dentro da instrução SQL, os registros que não satisfizerem ao WHERE nunca virão para o lado no cliente.
Se mesmo com where a query retornar muitos registros, ou vc não puder usar o where em alguma ocasião vc deve procurar utilizar fetch por demanda, onde são transportados os pacotes de registros à medida que são necessários...
Vc utiliza TClientDataSet ? Se sim, ajuste a propriedade PacketRecords para o número de registros que serão trazidos por vez, por exemplo, 32, e vc deve notar uma grande diferença...
Utilize também índices corretos no SGBD e condizentes com a cláusula ORDER BY da query...

T+


Responder

Gostei + 0

30/11/2004

Aldus

Olá Vinicius, uso CDS sim e ajustei o tamanho do pacote e funcionou a jato.

Obrigado mesmo.

Um grande abraço

Mario


Responder

Gostei + 0

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

Aceitar