Vou procurar usar  as funções SqlPrepare, SqlExecute e SqlPrepareAndExecute
 
Obrigado pela dica Ricardo e marcos
----- Original Message -----
Sent: Friday, February 14, 2003 2:52 PM
Subject: Re: [sqlwin] Peformance

José Carlos, particularmente, eu não recomendo o uso de sqlimmediate, justamente pelo fato de que o uso dessa função diminui a velocidade do sistema. O fato é que, em cada chamada do sqlimmediate, é feita uma conexão com o banco, e só depois o comando sql é executado. Portanto, é muito mais coerente vc utilizar as funções SqlPrepare, SqlExecute e SqlPrepareAndExecute, que utilizam handles já conectados. Só para vc ter um idéia, se vc colocar um sqlimmediate dentro de um while/loop e marcar o tempo que leva pra sair do while/loop, verá que o tempo é bem menor se vc utilizar o SqlPrepare antes de entrar no while/loop e dentro do while/loop executar somente o SqlExecute.
 
Bem, se de qualquer forma vc ainda precisar utilizar o sqlimmediate, tenha sempre em mente que logo após deve ser usado um sqlclearimmediate. Não adianta vc fazer 10 sqlimmediate seguidos e logo abaixo um sqlclearimmediate, pois o sqlclearimmediate só vai liberar a memória utilizada pelo último sqlimmediate executado. Note que se vc não usar o sqlclearimmediate, os handles internos não vão sendo fechados e vão ocupando memória, até que toda a sua memória RAM esteja totalmente ocupada. A partir daí, o Windows começa a fazer swap de memória em disco, e é isso que torna o seu sistema lento após algum tempo.
 
Espero que essas informações tenham ajudado. Qualquer dúvida, fique à vontade.
 
Ricardo.
----- Original Message -----
From: zeca
To: lista
Sent: Thursday, February 13, 2003 10:10 AM
Subject: [sqlwin] Peformance

Olá Pessoal,
 
estou com uma dúvida, meus usuários tem notado que a performance do sistema cai consideravelmente com o passar do tempo em que o mesmo está sendo usado.
 
Olhando o livro Centura 2000 a função sqlImmediate conecta um handle sql interno, será que tenho que execultar um sqlClearImmediate em cada chamada da sqlImmediate após ter feito a operação em minha base de dados, ou onde eu ultilizar outro sqlImmediate o sistema fará uso do mesmo handle sql interno conectado.
 
Desde já agradeço.
 
José Carlos e Rosalvo Aires

Responder a