CONEXAO SEMPRE ATIVA OU SO QUANDO FOI USAR O BD
Olá a todos......
As vezes eu me perguntou, quando abrir a conexão???
Tenho o hábito de abrir a conexão ao abrir o sistema e não mais fechá-la até o sistema ser encerrado.... vejo alguns exemplos que abre a conexão, executa o SQL necessário e encerra a conexão.. isso não demoraria mais para processar, já que tem que abrir toda vez a conexão????
As vezes eu me perguntou, quando abrir a conexão???
Tenho o hábito de abrir a conexão ao abrir o sistema e não mais fechá-la até o sistema ser encerrado.... vejo alguns exemplos que abre a conexão, executa o SQL necessário e encerra a conexão.. isso não demoraria mais para processar, já que tem que abrir toda vez a conexão????
Primeiramente há alguns fatores, tipo Online, Offline e que tipo de banco estamos falando.
eu como estou usando o MYSQL para fazer alguns projetos tenho feito o seguinte, estancio a classe de gerenciamento dai quando ele vai executar uma instrução ele verifica se a conexao esta aberto senao ele abre. e configuro na string de conexao alguns parametros.. segue abaixo
Pooling: O valor padrão é True. Para não ter uma conexão controlada pelo Pool defina o valor para False.
Min Pool Size: Define o número mÃnimo de conexões que existirão no Pool.
Na criação do Pool este número é criado e definido e durante o perÃodo de manutenção ou quando uma
conexão for requisitada as conexões são incluÃdas no Pool para garantir o número mÃnimo de conexões
disponÃveis. O valor padrão é 10.
Max Pool Size: Define o número máximo de conexão que estarão no Pool. As conexões são criadas e incluÃdas no Pool
até atingir este valor, se uma requisição para uma conexão for feita e não houver conexão disponÃvel
o chamador será bloqueado até que uma conexão esteja disponÃvel até ocorrer o timeout. O valor padrão é 100
Connection Lifetime: Define o tempo máximo em segundos que uma conexão pode existir no Pool antes de ser fechada.
O tempo da conexão é verificado somente quando a conexão é retornada ao Pool. Esta definição é útil
para minimizar o tamanho do Pool se o mesmo não for usado com frequência e também garante um bom
balanceamento de carga. O valor padrão é 0, o que significa que as conexões do Pool permanecem por
todo o processo atual.
No mais leia aqui: http://www.macoratti.net/09/06/vbn_upc.htm
eu como estou usando o MYSQL para fazer alguns projetos tenho feito o seguinte, estancio a classe de gerenciamento dai quando ele vai executar uma instrução ele verifica se a conexao esta aberto senao ele abre. e configuro na string de conexao alguns parametros.. segue abaixo
Pooling: O valor padrão é True. Para não ter uma conexão controlada pelo Pool defina o valor para False.
Min Pool Size: Define o número mÃnimo de conexões que existirão no Pool.
Na criação do Pool este número é criado e definido e durante o perÃodo de manutenção ou quando uma
conexão for requisitada as conexões são incluÃdas no Pool para garantir o número mÃnimo de conexões
disponÃveis. O valor padrão é 10.
Max Pool Size: Define o número máximo de conexão que estarão no Pool. As conexões são criadas e incluÃdas no Pool
até atingir este valor, se uma requisição para uma conexão for feita e não houver conexão disponÃvel
o chamador será bloqueado até que uma conexão esteja disponÃvel até ocorrer o timeout. O valor padrão é 100
Connection Lifetime: Define o tempo máximo em segundos que uma conexão pode existir no Pool antes de ser fechada.
O tempo da conexão é verificado somente quando a conexão é retornada ao Pool. Esta definição é útil
para minimizar o tamanho do Pool se o mesmo não for usado com frequência e também garante um bom
balanceamento de carga. O valor padrão é 0, o que significa que as conexões do Pool permanecem por
todo o processo atual.
No mais leia aqui: http://www.macoratti.net/09/06/vbn_upc.htm
Um dos problemas de manter a conexao aberta é que se tiver um pico de luz, os dados ficam muito mais vulneraveis para se corromper.
Eu estou usando SQLServer....
Tenho uma classe que faz o acesso, consulta, gravação, edição e exclusão de dados e ela verifica antes se a conexão está ativa, se dim executa, se não conecta... mas tenho como padrão abrir a conexão quando o sistema inicia...
Tenho uma classe que faz o acesso, consulta, gravação, edição e exclusão de dados e ela verifica antes se a conexão está ativa, se dim executa, se não conecta... mas tenho como padrão abrir a conexão quando o sistema inicia...
A boa prática diz que: abra a conexão o mais tarde possÃvel e feche o mais rápido possÃvel.
Tópico encerrado , respostas não são mais permitidas