Manter SQLConnection Ativo?

Delphi

27/09/2005

Sempre que abro minha aplicação executo SQLConnection:=true;

e só desconecto quando finalizo a aplicação, isso é errado?

Devo só ativar quando for fazer uma consulta ou posso deixar ativado?

Essa conexão prejudica muito a rede?


Obrigado, e ate mais :)


Gameiro

Gameiro

Curtidas 0

Respostas

Andremuller

Andremuller

27/09/2005

Está certo. Deves deixar ativado.
Não prejudica a rede porque não há dados trafegando.

Exemplo:
se tu estiver usando SQLServer se deixar a conexão ativa simplismente ela fica ´waiting´, sem utilizar recurso do servidor ou da rede


GOSTEI 0
Vinicius2k

Vinicius2k

27/09/2005

Colega,

Certo ou errado é complicado dizer. Isto é vc quem vai determinar por questões ligadas ao próprio projeto.
Eu, quando uso dbExpress e FB, prefiro deixar a conexão ligada o tempo todo, isto porque o processo de conexão compromete a performance da consulta. Já com ADO/OLE DB eu conecto e desconeto o tempo todo porque o processo de reconexão do ADO é muito rápido.

Em ambos os casos, apenas a conexão estar ativa não chega a comprometer a rede visto que não há tráfego de pacotes, mas, no SGBD, dependendo de sua arquitetura, quanto mais conexões ativas mais memória ele consome, porque pode estar mantendo threads ativas para a conexão. Desconectar-se diminui a carga apenas do servidor.

Vc precisa testar e analisar os prós e contras para vc, mas teste em rede, não localmente, porque a diferença é mínima.

Assunto parecido está sendo discutido neste tópico:
http://forum.clubedelphi.net/viewtopic.php?t=68465

T+


GOSTEI 0
Andremuller

Andremuller

27/09/2005

O colega Vinicius2k está correto.
Eu apenas simplifiquei a resposta.

Como você disse está querendo saber para o SQLConnection e há um custo muito maior em conectar do que em manter a conexão ativa, pelo menos nos banco que trabalho (SQLServer, Firebird e Oracle)


GOSTEI 0
Gameiro

Gameiro

27/09/2005

Pessoal, obrigado pelo esclarecimento.




Ate mais. :)


GOSTEI 0
POSTAR