Opção para o quot;Locatequot;
Olá pessoal!
Possuo um banco de dados cujo número de registros já está ficando um pouco grande para que eu possa utilizar o ´Locate´ (do controles ADO) para localizar um determinado registro.
Gostaria de saber se existe alguma opção, e como usar, para buscar um registro de forma mais rápida que o ´Locate´.
Grato.
wbb
Possuo um banco de dados cujo número de registros já está ficando um pouco grande para que eu possa utilizar o ´Locate´ (do controles ADO) para localizar um determinado registro.
Gostaria de saber se existe alguma opção, e como usar, para buscar um registro de forma mais rápida que o ´Locate´.
Grato.
wbb
Wbb
Curtidas 0
Respostas
Delmar
18/02/2004
||Possuo um banco de dados cujo número de registros já está ficando um ||pouco grande para que eu possa utilizar o ´Locate´ (do controles ADO) ||para localizar um determinado registro.
Como vc mesmo diz, se seu número de registros já está ficando grande para utilizar o locate, o ideal é utilizar SQL e trazer um conjunto resumido de registros, ou se tiver um bom critério de pesquisa, utilizá-lo para trazer apenas o registro desejado.
Um abraço.
Como vc mesmo diz, se seu número de registros já está ficando grande para utilizar o locate, o ideal é utilizar SQL e trazer um conjunto resumido de registros, ou se tiver um bom critério de pesquisa, utilizá-lo para trazer apenas o registro desejado.
Um abraço.
GOSTEI 0
Wbb
18/02/2004
Bem que eu gostaria que fosse tão fácil assim.... Ahh se fosse fácil....
Uso Locate porque não tenho informações suficientes para ´um bom critério de pesquisa´. Só possuo uma informação de um campo do registro e é essa que utilizo no Locate.
wbb
Uso Locate porque não tenho informações suficientes para ´um bom critério de pesquisa´. Só possuo uma informação de um campo do registro e é essa que utilizo no Locate.
wbb
GOSTEI 0
Andremuller
18/02/2004
E não dá pra usar esse critério de pesquisa na SQL e então utilizar o primeiro registro? Dá no mesmo do que o locate.
GOSTEI 0
Rodolpho123
18/02/2004
Olá amigo.
Qual é o banco que vc usa? Se vc busca um bom desempenho, aconselho à vc mudar de banco. Uma boa opção que encontrei foi o FireBird. Eu tinha um BD Access, usando também componentes ADO, cujo os registros beiravam a casa dos 1.000.000. Para carregar 65.000 registros, levava cerca de 16 segundos com o Access. Com FB, isso caiu para menos de 1 segundo. Continuo usando o Locate pois o acho um método muito bom.
Espero tê-lo ajudado.
Abraços...............!
Qual é o banco que vc usa? Se vc busca um bom desempenho, aconselho à vc mudar de banco. Uma boa opção que encontrei foi o FireBird. Eu tinha um BD Access, usando também componentes ADO, cujo os registros beiravam a casa dos 1.000.000. Para carregar 65.000 registros, levava cerca de 16 segundos com o Access. Com FB, isso caiu para menos de 1 segundo. Continuo usando o Locate pois o acho um método muito bom.
Espero tê-lo ajudado.
Abraços...............!
GOSTEI 0
Andremuller
18/02/2004
Bom já que tu perguntou: minhas aplicações rodam em SQLServer, Oracle e Interbase ao mesmo tempo com total compatibilidae, carregando as configurações de cada banco por um arquivo .ini, dependendo de qual banco o cliente usa.
E eu uso DbExpress.
E eu uso DbExpress.
GOSTEI 0
Delmar
18/02/2004
Olá amigo.
Qual é o banco que vc usa? Se vc busca um bom desempenho, aconselho à vc mudar de banco. Uma boa opção que encontrei foi o FireBird. Eu tinha um BD Access, usando também componentes ADO, cujo os registros beiravam a casa dos 1.000.000. Para carregar 65.000 registros, levava cerca de 16 segundos com o Access. Com FB, isso caiu para menos de 1 segundo. Continuo usando o Locate pois o acho um método muito bom.
Espero tê-lo ajudado.
Abraços...............!
Tmb acho ótimo o locate e rápido. Mas pode acontecer a seguinte situação. De um conjunto de um milhão, carrega-se 65.000 registros e utiliza-se locate neste conjunto para encontrar uma informação. Mas, a informação procurada com locate está entre os 950 mil registros restantes que ficarm no BD. Será necessário uma nova consulta Sql com critério que abranja o registro desejado e talvez, se o conjunto ainda retornar grande, utilizar novamente o locate.
Então, as vezes, é melhor empregar mais tempo e elaborar buscas só com Sql melhorando a performance, preparando o aplicativo para rodar em rede e evitar ainda de usuários ´leigos´ ligarem dizendo: ´o registro não está na grade. Cadastrei ontem´.
GOSTEI 0
Rodolpho123
18/02/2004
Olá amigo Delmar!
Concordo plenamente com sua opnião. Foi algo que me passou por despercebido.
Abraços..........!
Concordo plenamente com sua opnião. Foi algo que me passou por despercebido.
Abraços..........!
GOSTEI 0
Max_steel
18/02/2004
Ola pessoal, tb estou com um problema parecido uso AdoDataSet com
AdoConection no meu banco SQL Server 2000, mais nao consigo fazer pesquisas utilizando indices, somente com o locate, soh q meu locate ta muito devagar, ai qdo tento utlizar seek ele da q meu provedor nao suporta, to conectado com o ado como Microsoft OLE DB Provider For Sql Server, como devo proceder para q eu consiga fazer pesquisas usando indices? ou alguma outra sugestao, nao posso fazer pesquisas usando filtro sql pq tenho q mostrar a tabela inteira.
Grato
Mandrake
AdoConection no meu banco SQL Server 2000, mais nao consigo fazer pesquisas utilizando indices, somente com o locate, soh q meu locate ta muito devagar, ai qdo tento utlizar seek ele da q meu provedor nao suporta, to conectado com o ado como Microsoft OLE DB Provider For Sql Server, como devo proceder para q eu consiga fazer pesquisas usando indices? ou alguma outra sugestao, nao posso fazer pesquisas usando filtro sql pq tenho q mostrar a tabela inteira.
Grato
Mandrake
GOSTEI 0