MEMORIA SQL 2000

 Tópico anterior Próximo tópico Novo tópico

MEMORIA SQL 2000

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#1937 - 21/12/2003 17:14:13

ICHIHARA
SAO PAULO
Cadast. em:Dezembro/2003


Boa tarde pessoal!

Estou com o seguinte problema

Estou rodando uma aplicacao de leitura de um arquivo que insere em uma base sql2000. No inicio do processo a velocidade da aplicacao eh alta, mas passadas 3hs de trabalho ela comeca a ficar lenta. Percebi que qdo CTRL + ALT + DEL e veirifico os processos percebo que a memoria utilizada pelo SQL cada vez esta maior 200mb!! e vai almentando. E percebi que qto maior mais lenta as transacoes ficam,...

Configuracao do micro SQL2000
Celeron 2gb
1gb RAM
HD 40gb

Existe alguma configuracao do SQL 2000 que eu possa alterar para melhorar isso?

MUito obrigado!!!

Grato desde ja!
Cientista Ichihara

Resposta escolhida #1944 - 21/12/2003 18:09:38

USUARIO.EXCLUIDOS

Cadast. em:


Suponho que voc est liberando o espao de memria usado pelos objetos de dados aps as tarefas de atualizao (close(, bem como o espao das variveis-objeto (set objeto = nothing).
Caso afirmativo, uma alternativa voc processar as atualizaes em lote. Pode parecer estranho, mas o fato que voc ir gerar um volume menor de atualizaes, ampliando o tempo de resposta. para cada atualizao. O Windows vai gerar uma nica reserva de espao ao processo e esse espao ser menor do que a soma de vrios espaos independentes. Uma vez processando em lotes, aps usar o Commit, procure encerrar os objetos de dados e abr-los novamente, o que tambm vai auxiliar. Um outro "detalhe" que se voc trabalha alimentando campos ole, texto, data ou memo, o espao reservado s operaes bem grande, alm do prprio tipo de dados consumir mais memria. Se e onde for possvel substituir esses tipos de dados por tipos numricos, proceda, pois acaba gerando resultados razoveis.
Outra alterao que PODE surtir resultado: Se voc utiliza um objeto connection para toda a aplicao, no o utilize para abrir seus recordsets. O convencional usar:
oRS.Open "seleo", ObjetoConnection, ...
Utilize, ao invs disso:
oRS.Open "seleo", ObjetoConnection.CONNETIONSTRING, ...
Isso far com que o Recordset abra sua prpria conexo com a base de dados, ao invs de utilizar o Connection. E aps as atualizaes, feche todos os objetos de dados e os abra novamente. Apesar de ser possvel o refresh em alguns deles, eles continuam com o acmulo de processos anteriores, esperando sempre por um rollback. Encerrando e abrindo novamente, voc libera essa "carga extra".
Se no resolver, volte a questo neste tpico, ok?




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45