Como fazer um Select não trazer todos os registros?

Delphi

30/11/2004

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

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

30/11/2004

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+


GOSTEI 0
Aldus

Aldus

30/11/2004

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

Obrigado mesmo.

Um grande abraço

Mario


GOSTEI 0
POSTAR