Manter SQLConnection Ativo?
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 :)
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
Curtidas 0
Respostas
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
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
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+
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
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)
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
27/09/2005
Pessoal, obrigado pelo esclarecimento.
Ate mais. :)
Ate mais. :)
GOSTEI 0