CONSULTA MAIS RAPIDA.
Eu uso o controle ListView, que vem no Common Controls do Windows,
para exibir os dados de uma tabela que busco usando ADODB.
Enquanto a tabela tem poucos registros, tudo bem, busca rapidinho,
Mas agora estou trabalhando com um banco de dados MySQL que tem
numa única tabela quase 500.000 registros e mudei de ListView para
um ótimo controle que encontrei no vbAccelerator, o Super Grid 2.
E na hora de preencher a tabela com um laço For...Next tah demorando
cerca de 3 minutos (eh muito lento pra exibir uma informação ao cliente).
Gostaria de saber se existe uma maneira de preencher o controle mais
rapidamente.
para exibir os dados de uma tabela que busco usando ADODB.
Enquanto a tabela tem poucos registros, tudo bem, busca rapidinho,
Mas agora estou trabalhando com um banco de dados MySQL que tem
numa única tabela quase 500.000 registros e mudei de ListView para
um ótimo controle que encontrei no vbAccelerator, o Super Grid 2.
E na hora de preencher a tabela com um laço For...Next tah demorando
cerca de 3 minutos (eh muito lento pra exibir uma informação ao cliente).
Gostaria de saber se existe uma maneira de preencher o controle mais
rapidamente.
bem... no caso do listview, vc preenche ele como visible = true? mude para = false e veja se tem diferença.
Jah tentei, mas o problema eh na consulta mesmo.
São muitos registros.
São muitos registros.
Truhillo, mas com certeza você não precisa preencher um grid ou list com todos os 500.000 registros... você deve buscar apenas os campos e os registros que necessita REALMENTE... outra coisa... ADODB é um controle VINCULADO... ao abrir o bd ele abre todos os registros... operações com esse controle irão ter o desempenho comprometido... para ter mais rapidez, sugiro o accesso via ADO Declarado....
Desculpe, Germanir, mas eu postei errado, eu uso ADO declarado mesmo.
E trata-se de uma tabela de uma lista telefà 'nica para consultas no computador.
Então o cliente vai precisaria mesmo abrir todos os registros de uma vez.
E trata-se de uma tabela de uma lista telefà 'nica para consultas no computador.
Então o cliente vai precisaria mesmo abrir todos os registros de uma vez.
truhillo, como esta declarando sua conexão e seu recordset???
qual a rotina que preenche o grid??
você não consegue fazer este preenchimento por paginas??? exemplo: se você tem 50.000 registros, voce preenche apenas 10.000 de cadas vez o que daria 5 paginas, então é só o cliente clicar em proxima pagina e exibira os próximos 10.000
outra coisa é limitar as informações a serem exibidas no grid, exemplo se tem 15 campos na tabela, preencha o grid com os 5 que o seu cliente mais usa, se ele quiser ver o resto poderia se exibido em um form a parte.
qual a rotina que preenche o grid??
você não consegue fazer este preenchimento por paginas??? exemplo: se você tem 50.000 registros, voce preenche apenas 10.000 de cadas vez o que daria 5 paginas, então é só o cliente clicar em proxima pagina e exibira os próximos 10.000
outra coisa é limitar as informações a serem exibidas no grid, exemplo se tem 15 campos na tabela, preencha o grid com os 5 que o seu cliente mais usa, se ele quiser ver o resto poderia se exibido em um form a parte.
Ó“tima idéia, William.
Vou postar a string de conexão aqui amanhã (o programa tah em casa).
Vou trazer tb a tela pra vcs verem como deve ficar.
Vou postar a string de conexão aqui amanhã (o programa tah em casa).
Vou trazer tb a tela pra vcs verem como deve ficar.
Se a maquina nao for boa, a demora é perceptivel mesmo, nesses caso nao tem jeito a nao ser trazer os registros filtrados por alguma condicao.
Esse tipo consulta nao deve ser utilizado pra carregar muitos registros, afinal voce esta sobrecarregando a memoria do computador.
O desempenho depende muito de como voce abriu o recordset, e tambem da maquina.
Esse tipo consulta nao deve ser utilizado pra carregar muitos registros, afinal voce esta sobrecarregando a memoria do computador.
O desempenho depende muito de como voce abriu o recordset, e tambem da maquina.
ia esquecendo, o banco quando aberto de forma correta, não demora muito, o que demora mesmo, é por os dados no grid, dependendo da quantidade de registros é claro.
Realmente, Wiliam.
Pra conectar eh bem rápido, o que tah pegando mesmo é preencher o listview com todos os registros da tabela.
Pra conectar eh bem rápido, o que tah pegando mesmo é preencher o listview com todos os registros da tabela.
cadê a string de conexão para gente dar uma olhada [S95]
poste tambem a rotina de preenchimento do listview
poste tambem a rotina de preenchimento do listview
Tópico encerrado , respostas não são mais permitidas