Fórum Consulta SQL muito lenta na primeira execucao no Delphi #356262
31/03/2008
0
Nao importa o componente TQuery, TStoreProcedure rodando uma procedure que retorna um result set
A lentidão é apenas no Delphi, pois rodando direto no banco ou utilitario de banco ela roda rapido desde a primeira execucao !!
Que fazer ? alguém tem alguma dica ?
Lulatedesco
Curtir tópico
+ 0Posts
31/03/2008
Brunolspp
Quando vc faz a consulta, a conexão com o banco já está estabelecida?
Gostei + 0
31/03/2008
Lulatedesco
A consulta ja esta estabelecida sim.
Conexao via BDE mesmo.
Delphi 5
Gostei + 0
31/03/2008
Alderico.dias
Boa sorte....
Gostei + 0
31/03/2008
Brunolspp
Amigo, o BDE está descontinuado a mais de anos e não sofre atualizações. Mude esta consulta para usar ADO com ClientDataSet, vai ficar bem mais rápido com certeza.
Esta lentidão pode ser devido a forma de construção no BDE, você está usando Query para isso? Se sim, ela precisa estar com o cachê desabilitado, se você precisa alterar dados com ela é recomendável que utilize um updatesql ao invés de usar a query como uma table. Fica bem mais rápido. Outra coisa pode ser configuração de cachê e detalhes do BDE que não sei nem mais como fazer.
Por que você não aproveita a promoção de 60¬ de desconto do Delphi e atualiza a sua versão, sai mais barato que um upgrade e você não perde sua licença de Delphi 5, pois você comprará um new user com o preço menor do que upgrade.
A migração dos aplicativos é totalmente transparente, pois é 100 ¬ compatível o código entre as versões.
Gostei + 0
31/03/2008
Lulatedesco
De antemao agradeço a atencao dispensada.
Vamos ao porems.
Realmente o DBE tá morto e melhor seria mesmo o D7.
Atualmente eu uso o DOA ( Direct Oracle Acess ) para acessar o Oracle e o IBX para o Firebird / Interbase.
Acontece que isto esta acontecendo numa [b]nova rotina[/b]
que tive que implementar num [b]sistema antigo[/b], desenvolvido em 1999, e por isso mesmo, respeitando a regra basica [i]´se nao tem problema, nao mexa !!´[/i] nao quero mudar todo o sistema apenas por esta consulta. Até porque é algo feito como uma cortesia.
Nao quero queimar muita pestana/neuronio nisso.
Porem preciso resolve-lo !!
Em caso de acesso pelo ADO ou ClientDataSet poderiam me informa como faze-lo ?
Muito agradecido.
Gostei + 0
31/03/2008
Brunolspp
Mais exemplos voce terá no meu link de downloads gratuitos http://cc.codegear.com/author/795118
Sobre migrar, não digo ir para o Delphi 7, mas sim o 2007, só em compilar a aplicação, já leva 20¬ a mais de performance sem falar em vários problemas de memória e leak resolvidos, alem de outros recursos.
Aqui no forum tem um link com os vídeos.
Espero que ajude.
Gostei + 0
01/04/2008
Lulatedesco
Acontece que determinado momento,
apos abrir e fechar o dataset varias vezes acontece o erro
´[i]BOF e EOF sao verdadeiros , ou o registro atual foi excluido . A operação solicitada pelo aplicativo requer um registro atual.[/i]´
e se insistirmos ele dá o macabro erro ´[i]falha catastrofica[/i]´
Ouvi falar em atualizar o MDAC p versao 2,7 ou superior e atualizar o ADO
Alguem pode me ajudar ?
Gostei + 0
15/04/2008
Lulatedesco
O Delphi5 ADO Update Pack 2 pode ser encontrado em
http://info.borland.com/devsupport/delphi/mdac26.html
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)