GARANTIR DESCONTO

Fórum Consulta SQL muito lenta na primeira execucao no Delphi #356262

31/03/2008

0

Tenho uma consulta SQL muito lenta na primeira execucao rodando no Delphi. Apenas na primeira execução.

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

Lulatedesco

Responder

Posts

31/03/2008

Brunolspp

Qual o banco de dados?

Quando vc faz a consulta, a conexão com o banco já está estabelecida?


Responder

Gostei + 0

31/03/2008

Lulatedesco

Banco SQL Server;
A consulta ja esta estabelecida sim.
Conexao via BDE mesmo.
Delphi 5


Responder

Gostei + 0

31/03/2008

Alderico.dias

Amigo tente instalar o client do SQL-Server nesta máquina ou driver do SQL-Server para conexão, provavelmente deve ser algum problema de conexão entre o BDE e SQL-SERVER. Caso contrário tente criar uma conexão ODBC.
Boa sorte....


Responder

Gostei + 0

31/03/2008

Brunolspp

Então pode ser o cache do BDE.

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.


Responder

Gostei + 0

31/03/2008

Lulatedesco

Bruno e Alderico.dias

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.


Responder

Gostei + 0

31/03/2008

Brunolspp

Coloca um ADO Connection para conectar no banco, depois um adodataset com o comando sql, um datasetprovider ligado ao adodataset e um clientdataset ligado ao provider, e pronto.

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.


Responder

Gostei + 0

01/04/2008

Lulatedesco

OK. Funcionando esta. E rapido !!
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 ?


Responder

Gostei + 0

15/04/2008

Lulatedesco

Na verdade os bugs do ADO no Delphi5 somente se solucionam com a aplicação do d5adoupdate2.exe ( Update Pack para o ADO no D5 )

O Delphi5 ADO Update Pack 2 pode ser encontrado em
http://info.borland.com/devsupport/delphi/mdac26.html


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar