DUVIDA SIMPLES PARA FERAS EM BD
Boa tarde,Pessoal!
Sempre que precisei executar query no Banco de Dados, o fiz sem me preocupar
muito com o modo como o Banco [Ô]funciona internamente[Ô]. Bom, o problema é que
eu precisei montar uma consulta bem [Ô]Pesada[Ô]. Que lida com múltiplas tabelas,
que tem 400/ 500 mil linhas. Ao executar a consulta, depois de quase 1 hora
rodando, é exibida uma mensagem :
[Ô]Espaço em disco temporário insuficiente[Ô]
Obs:
- O Banco de Dados é o simples Access (2003)
- Tenho 1 GB de RAM
- Já tentei fechar os aplicativos e deixar somente o Access aberto. (Sem sucesso)
Minhas dúvidas:
1.) Vale a pena fazer um Upgrade para 2 GB de RAM. Ou isto não vai resolver?
2.) Existe alguma outra solução????
Sempre que precisei executar query no Banco de Dados, o fiz sem me preocupar
muito com o modo como o Banco [Ô]funciona internamente[Ô]. Bom, o problema é que
eu precisei montar uma consulta bem [Ô]Pesada[Ô]. Que lida com múltiplas tabelas,
que tem 400/ 500 mil linhas. Ao executar a consulta, depois de quase 1 hora
rodando, é exibida uma mensagem :
[Ô]Espaço em disco temporário insuficiente[Ô]
Obs:
- O Banco de Dados é o simples Access (2003)
- Tenho 1 GB de RAM
- Já tentei fechar os aplicativos e deixar somente o Access aberto. (Sem sucesso)
Minhas dúvidas:
1.) Vale a pena fazer um Upgrade para 2 GB de RAM. Ou isto não vai resolver?
2.) Existe alguma outra solução????
1 - Pode não resolver, o problema não é a memória ou o disco, mas o próprio Access, que não foi projetado para coisas muito pesadas
2 - Sim, migre para um banco de dados(isso mesmo, access é repositório, não banco de dados)
2 - Sim, migre para um banco de dados(isso mesmo, access é repositório, não banco de dados)
Sim. Trocar de Banco de Dados
O Access é um ótimo banco de Dados para quem esta iniciando para aprender programar!
Agora para armazenar 400/500 mil linhas jamais utilize access. Lembrando que não sou contra o Access tenho
muito projetos desenvolvidos em Access tenta usar FireBird, MySQL, Até mesmo a Microsoft esta disponibilizando o SQL SERVER em versão gratuita como o SQL Server 2008 R2 32/64bits vale apena tentar.
E também como esta fazendo a consulta? pode ser que o seu código esteja um pouco sujo. Ja tentou dar uma melhorada?
Posta aà quem sabe não damos algumas dicas pra você
O Access é um ótimo banco de Dados para quem esta iniciando para aprender programar!
Agora para armazenar 400/500 mil linhas jamais utilize access. Lembrando que não sou contra o Access tenho
muito projetos desenvolvidos em Access tenta usar FireBird, MySQL, Até mesmo a Microsoft esta disponibilizando o SQL SERVER em versão gratuita como o SQL Server 2008 R2 32/64bits vale apena tentar.
E também como esta fazendo a consulta? pode ser que o seu código esteja um pouco sujo. Ja tentou dar uma melhorada?
Posta aà quem sabe não damos algumas dicas pra você
O access suporta essa quantidade de registros sim, sem problema. O que pode estar ocorrendo é ele estar em uma partição com pouco espaço em disco rÃgido disponÃvel.
Tente fazer essa operação em um micro com mais espaço em disco ou em uma partição com mais espaço.
Não utilizo mais o access em meus projetos, mas à s vezes preciso fazer tratamento de dados em que não compensa modelar um banco de dados para isso, então faço tudo no access que é bem mais prático e já manipulei 5 milhões de registros sem problemas.
Tente fazer essa operação em um micro com mais espaço em disco ou em uma partição com mais espaço.
Não utilizo mais o access em meus projetos, mas à s vezes preciso fazer tratamento de dados em que não compensa modelar um banco de dados para isso, então faço tudo no access que é bem mais prático e já manipulei 5 milhões de registros sem problemas.
Cara eu já tive problemas sérios com o access. No seu caso seria um desastre perder seus 400 mil registros, concorda? Sem falar que o access não é ideal para se trabalhar com várias estações, ele até funciona, mas o risco de corromper o banco é muito alto. Tudo bem que o access trabalha com muitos registros, o amigo Ricart disse que já trabalhou com 5 milhões, até ai tudo bem, mas o access sempre vai ter um desempenho inferior ao MYSQL, SQL Server, entre outros. Outra coisa muito importante que também vale lembra, é que não adianta ter um banco de ponta e utiliza-lo de forma incorreta. O meu conselho e creio que o de muita gente aqui do fórum vai ser, para trabalhar com outro banco, existem muitas ferramentas na internet para migração.
Eu acho que o problema pode estar na sua query
on error goto mysql velho! vaza do access!
Colegas, atualmente utilizo Firebird e Oracle. Não aconselho ninguém a utilizar banco access em seus projetos. A maior parte dos desenvolvedores que insistem em utilizar access é por que não tentaram outra opção por achar que são mais complicadas do que access.
Só que a questão principal do tópico é ajudar a resolver esse problema pontual do colega.
Só que a questão principal do tópico é ajudar a resolver esse problema pontual do colega.
Pessoal,a sugestão dos colegas de eu migrar para outro BD é sem dúvida a solução [Ô]Ideal[Ô].
Mas, no meu caso isto não pode ser feito de [Ô]Imediato[Ô]. Então, vou tentar executar a consulta
em uma máquina sem problemas de espaço em disco, e ver o que acontece.
Muito obrigado a todos!!!!!!
Mas, no meu caso isto não pode ser feito de [Ô]Imediato[Ô]. Então, vou tentar executar a consulta
em uma máquina sem problemas de espaço em disco, e ver o que acontece.
Muito obrigado a todos!!!!!!
Uma opção seria usar tabelas [Ô]auxiliares[Ô] para o que vc quer fazer...
O que vc poderia fazer é mostrar as estruturas das tabelas envolvidas na sua query e explicar o que vc quer retornar. Assim, podemos todos aqui ajudar numa solução para seu problema...
Tópico encerrado , respostas não são mais permitidas