Jump to content


Photo

Usando Access


  • Faça o login para participar
6 replies to this topic

#1 abc2

abc2

    Cuidado com o Narcisismo

  • Usuários
  • 546 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 09/02/2005, 22:58

olá pessoal
não sei se estou postando no local certo, portanto podem mover a vontade :D

seguinte:
eu criei um sistema com banco de dados access, porem a ultima vez que alterei o banco, ele estava com 4,2MB....
depois de um mes mais ou menos, quando fui baixar o banco para minha máquina, percebi que ele estava com quase 6mb!! e neste intervalo de tempo, não fiz absolutamente nada com ele, nem insert, nem update....

minha pergunta é: o access vai inflando quando o site é muito visitado??

PS - o site todo roda encima do banco, com vários select nas páginas

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 10/02/2005, 00:34

Existe um recurso do Access que seria a Verificação de Erros e Compactação.

O arquivo do Access é todo o sistema de dados, quando ele faz pesquisas ele cria tabelas temporarias, e essas tabelas ficam armazenadas no próprio arquivo... por isto o sistema infla, se vc afimar que não ocorrem operações de insert e update, esse arquivo não vai crescer muito mais do que isto, porém, para agilizar o envio, vc pode efetuar a compactação, que, na verdade, seria a eliminação dessas áreas temporárias, claro que, num futuro próximo, o arquivo voltará a ter o mesmo tamanho.
------
Mero mortal!

#3 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 12/02/2005, 01:23

um..dessa nao sabia..

é velho, intao nao tem escapatoria s etodos bds tem isso...

mas com certeza com um mysql ou sql server ficaria masi rapido se o problema fosse lentidao, mas creio q nao..

de qualquer modo..
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#4 brunoalves

brunoalves

    Linux user #392843

  • Ex-Admins
  • 1018 posts
  • Sexo:Não informado
  • Localidade:Rio de Janeiro

Posted 12/02/2005, 02:30

Acho que este tópico deveria estar em BD...

Há um tempo atras, peguei um sistema para expandir que usava access (e não poderia ser trocado), que passaria a ser acessado por inúmeras pessoas, mesmo depois de normatizar as tabelas, otimizar queries e levar o access ao limite de otimização dele (peelo menos para o meu conheecimento sobre a criança :)), não tive opção a não ser criar uma rotina que fizesse a compactação do BD de tempos em tempos, caso contrário ele explodia :lol: em função dos múltiplos acessos.

Realmente ele cresce e muito, rapidamente.

Abraço.

#5 abc2

abc2

    Cuidado com o Narcisismo

  • Usuários
  • 546 posts
  • Sexo:Não informado
  • Localidade:Blumenau/SC

Posted 12/02/2005, 08:32

hmm valeu pelas dicas pessoal

ele está trabalhando normal, ainda não está lento (por enquanto), mas creio que daqui a um tempinho com certeza vai ficar...
vou compactar o banco e ver no que dá....

caso contrario, vou tentar convencer o pão duro do meu cliente a mudar o plano dele pra sql server, eh bem melhor...

obrigado a todos (y)

#6 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 12/02/2005, 16:27

hehe. ou se nao pega um plano com asp/php q tem mysql q creio q ficaria mais barato q sql server..

mas muito bo aa dica do chará..

de todo modo tb, creio q o assunto é pr aBanco de Dados msm.

to movendo ...
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#7 xleandro

xleandro

    Saber eh poder

  • Usuários
  • 359 posts
  • Sexo:Não informado
  • Localidade:ES
  • Interesses:Linguagens de programaçao, SO`s, hardwares e softwares.

Posted 15/03/2005, 13:44

Pra facilitar sua vida um pouco vc pode ta fazendo o seguinte, no access vai em Ferramentas > Opcoes > Geral > e marca a opção Compactar ao fechar

Tenho aki tb uma rotina em Delphi q pode ser util para quem trabalha com Delphi e está com o mesmo problema:

procedure TFCompacta.CompactaMDB(Sender: TObject);
var db: OleVariant;
PathDb: string;
begin
PathDb := 'c:\scej\dados\' + FPrincipio.TEmpresaAlias.Value + '.mdb';
db := GetADOObject('JRO.JetEngine');
db.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + PathDb + ';Jet OLEDB:Database Password="";',
'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + ExtractFilePath(PathDb) + 'novobd.mdb' +
';Jet OLEDB:Database Password=""' +
';Jet OLEDB:Engine Type=5'); // 4 se for Access 97
if not DeleteFile(PathDb) then
// file://deleta bd antigo
begin
ShowMessage('Ocorreram problemas renomeando os arquivos temporários!'
+ #13 + 'A operação foi cancelada.');
DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');
// file://deleta arquivos temporarios
exit;
end;
RenameFile(ExtractFilePath(PathDb) + 'novoBD.mdb', PathDb);
//file://renomeia bd compactado
DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');
//file://deleta arquivos temporarios
// ShowMessage('Processo Concluído com sucesso!');
{ except
on e: Exception do
ShowMessage(E.Message);
end;
finally
db := unassigned;
// file://limpa variaveis de objetos
end;}
end; function TFCompacta.GetADOObject(ADOClass: string): OLEVariant;
var o: OLEVariant;
begin
try
o := CreateOLEObject(ADOClass);
except on EOleException do
o := unassigned
end;
Result := o;
end;
Nesta guerra jah conquistamos grandes e pequenas batalhas, desde as mais faceis ateh akelas que para qualquer outro mortal seria dita como inalcansavel, mas então, pq continuar? Simples...
Pq o mais importante não eh vencer todas as batalhas, mas sim perpetuar a guerra. ;o)

Meu fotolog: http://www.pixlog.net/xleandro
Leandro Pretti




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq