LIGACAO ADO LENTA
Tenho uma aplicação que acede por ADO a um BD access com muitas consultas SQL.
Será que usando DAO ela ficaria mais rápida.
E o que é melhor: usar o controlo DATA ou via código?
Será que usando DAO ela ficaria mais rápida.
E o que é melhor: usar o controlo DATA ou via código?
Via código eh bem mais rápido apesar de ser um pouco mais trabalhoso
Mas ADO ou DAO?
Use oDAO se sua Base for ACCESS 97. Senão use ADO.
Abraços
Abraços
Realmente com DAO ganhei alguns segundos na pesquisa à  minha base de dados Access 97. Com ADO demorava cerca de 8 segundos e passou a demorar 5 segundos.
Mas arranjei outra solução em que o acesso é quase imediato (1 segundo): usei um ficheiro TXT para armazenar os dados (com write #1) e depois retorno-os quando preciso para a aplicação (com print #1).
Para além de mais rápida, fiquei com a aplicação mais magrinha. Tinha 112KB ficou com 88KB. Ficou excelente! Aconselho.
Mas arranjei outra solução em que o acesso é quase imediato (1 segundo): usei um ficheiro TXT para armazenar os dados (com write #1) e depois retorno-os quando preciso para a aplicação (com print #1).
Para além de mais rápida, fiquei com a aplicação mais magrinha. Tinha 112KB ficou com 88KB. Ficou excelente! Aconselho.
Você está dizendo usar um TXT como Banco de Dados?
Sim, isso mesmo.
Eu criei um por acesso sequencial (não sei usar os outros modos) e o resultado foi surpreendente: rapidez e reduzido tamanho da aplicação. Mas para mim a maior vantagem é que posso usá-lo em qualquer computador sem que me apareça "Provider cannot be found e blá blá".
Dá um pouco mais trabalho a desenvolver e fazer pesquisas.
Eu criei um por acesso sequencial (não sei usar os outros modos) e o resultado foi surpreendente: rapidez e reduzido tamanho da aplicação. Mas para mim a maior vantagem é que posso usá-lo em qualquer computador sem que me apareça "Provider cannot be found e blá blá".
Dá um pouco mais trabalho a desenvolver e fazer pesquisas.
Sim, amigo agora tente gerenciar uma grande quandidade de informaçoes? tipo de 100 registros para lá... com certeza vc gravou dados que não precisavam de um BD, é sim de um arquivo!!. Entendeu?
Entendi!
De facto, eu antes usava uma BD access via ADO (como mencionei no 1º post).
Nesta BD tinha 1 tabela com 5 campos, que são carregados com mais de 1000 registos. A minha aplicação retomava desta BD (usando SQL) uma grande quantidade de informação (médias, percentagens, carregava uma listbox, etc) o que demorava muito tempo.
Agora com o TXT faço tudo isto. Esse meu arquivo armazena todos os campos e registos que a BD access armazenava.
Tou agora a criar um segundo arquivo que servirá como uma 2Âê tabela e vou tentar relaciona-las.
De facto, eu antes usava uma BD access via ADO (como mencionei no 1º post).
Nesta BD tinha 1 tabela com 5 campos, que são carregados com mais de 1000 registos. A minha aplicação retomava desta BD (usando SQL) uma grande quantidade de informação (médias, percentagens, carregava uma listbox, etc) o que demorava muito tempo.
Agora com o TXT faço tudo isto. Esse meu arquivo armazena todos os campos e registos que a BD access armazenava.
Tou agora a criar um segundo arquivo que servirá como uma 2Âê tabela e vou tentar relaciona-las.
Quer dizer que o seu TXT armazena mais de 1000 registros? tá antes de continuar nessa impreitada tente fazer estas operações (usando seu txt)
-Localizar determinado registro por codigo
-Localizar determinado registro entre data inicial e data final
-Deletar somente os registros maiores que alguma coisa
-Selecionar todos os registro que começam com uma letra tal
-Inserir algo somente no Primeiro registro
e ai?
-Localizar determinado registro por codigo
-Localizar determinado registro entre data inicial e data final
-Deletar somente os registros maiores que alguma coisa
-Selecionar todos os registro que começam com uma letra tal
-Inserir algo somente no Primeiro registro
e ai?
Entendeu, não estou tirando onda com sua cara, só estou lhe avisando que a PRINCIPIO essa pode ser a melhor solução para o seu PROBLEMA de 7 SEGUNDOS, mas que depois irá se tornar uma grande DOR de cabeça....
só isso.. até mais
só isso.. até mais
Tópico encerrado , respostas não são mais permitidas