Ordenar Banco Grande
Ola!
Tenho um banco Firebird com mais de 20.000 registros e setei a proprieade IndexFieldName do meu ClientDataSet pro nome do campo NOME so que depois de digitar algo no edit procura usando o findnearstest do CDS depois q apago o conteudo do edit ele poe o primeiro registro q deveria ser um nome com a letra A ele poe o primeiro um nome com uma letra F depois um nome com a letra A.
E outra ta muito lento pra dar um refresh tambem qual a melhor solucao?Estou testando o banco localmente.
abraços
Tenho um banco Firebird com mais de 20.000 registros e setei a proprieade IndexFieldName do meu ClientDataSet pro nome do campo NOME so que depois de digitar algo no edit procura usando o findnearstest do CDS depois q apago o conteudo do edit ele poe o primeiro registro q deveria ser um nome com a letra A ele poe o primeiro um nome com uma letra F depois um nome com a letra A.
E outra ta muito lento pra dar um refresh tambem qual a melhor solucao?Estou testando o banco localmente.
abraços
Eduardo Jr
Curtidas 0
Respostas
Wesley Batista
22/04/2010
Olá amigo,
Seu banco de dados tem index ? Senão tiver crie um index para o campo que você necessita fazer a busca, porém campos varchar, este index fica mais lento do que para campos integer, por exemplo, tente esta solução senão funcionar posta ae que vemos outra solução.
Espero te ajudado
Um abraço
Wesley Batista
e-mail : wesley@tdstecnologia.com.br
site : www.tdstecnologiarj.com.br
Seu banco de dados tem index ? Senão tiver crie um index para o campo que você necessita fazer a busca, porém campos varchar, este index fica mais lento do que para campos integer, por exemplo, tente esta solução senão funcionar posta ae que vemos outra solução.
Espero te ajudado
Um abraço
Wesley Batista
e-mail : wesley@tdstecnologia.com.br
site : www.tdstecnologiarj.com.br
GOSTEI 0
Lucilton Faria
22/04/2010
uma aplicacao cliente X Servidor nao deve ter uma tabela de 20.000 registros aberta simplesmente, sempre que puder trabalhe com query e sql tipo select * from campo like 'abc%', faca um indice pro campo e nao utilize tambem esses metodos onde a cada letra digitada uma busca é feita, exija que um determinado numero de caracteres antes da busca
tipo "MARIA AP" + enter digitado entao execute select * from campo like 'MARIA AP%', voce pode no comeco ouvir uma reclamacao do usuario mas tera depois usuarios bem mais satisfeitos com seu sistema respondendo rapido.
Abracos
GOSTEI 0