Fórum Pesquisa mais rápida #187978

11/10/2003

0

Tenho uma tabela feita no interbase e esta tabela possui uns 4000 registros.
Estou sentindo que a pesquisa através do Método Locate está um pouco lenta.
Pesquisar usando SQL é mais rápido, mas como uso dbEdits preciso fazer com que o ponteiro da tabela se movimente.

Há uma maneira de fazer a pesquisa diretamente na tabela ser mais rápida?

PS: Usar a pesquisa com uma Query é inapropriado para o meu caso.


Ricardo Barbosa

Ricardo Barbosa

Responder

Posts

11/10/2003

Vinicius2k

Ricardo,
Locate é mesmo ´mortal´ em tabelas um pouco maiores... não quero te desanimar, mas a tendência é piorar... se vc jah testou com SQL não preciso nem dizer que é melhor, porém vc disse que é inapropriado para o seu caso, pq vc precisa de movimento no ponteiro...
que tal usar Query -> DataSetProvider -> ClientDataSet -> DataSource -> DBEdit ?
vc terá o movimento de que necessita... essa tem sido a solução mais aplicada para ´driblar´ o ´Unidirecional´ das Queries...

espero ter ajudado...


Responder

Gostei + 0

11/10/2003

Ildefonso

Olá, Ricardo.

Costumo usar a propriedade Filter do DataSet...
  MyQuery.Filter := ´[Descricao] LIKE "Impressora*"´;

A propriedade Filtered fica False, assim, o próximo FindFirst encontra a primeira ocorrência da condição, mas, na verdade, não esconde/filtra nada... apenas desloca até o registro coincidente.
Ah... eu uso o ADO. Talvez o * curinga da expressão seja diferente para o InteBase.

Bom trabalho. 8)


Responder

Gostei + 0

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

Aceitar