banco de dados ultrapassando 250Mb em 60 dias
amigos estou com um problema, criei um aplicativo pra locadora, capturo imagem de clientes pela webcam, em 60 dias de uso o banco ja esta ultrapassando os 250MB existem 2000 clientes cadastrados, gostaria de saber se ha algum problema nisso alem do incoveniente da demora pro backup, as vezes o programa trava, nao sei se isso é a causa as fotos estao sendo salvas no formato .bmp em um campo blob e cada uma tem um tamanho de 360kb, existe alguma forma de eu diminuir isso, ja tentei fazer o backup e restaurar mas nao diminui em nada estou usando o componente videocap, e o TEDBImage pra diminuir o zoom.
O que gostaria de saber é quais as consequencias no aplicativo pelo banco de dados estar muito grande, ou se existe alguma maneira de diminuir esse banco?
desde ja agradeço...
Firebird e Delphi 7.0
O que gostaria de saber é quais as consequencias no aplicativo pelo banco de dados estar muito grande, ou se existe alguma maneira de diminuir esse banco?
desde ja agradeço...
Firebird e Delphi 7.0
Marcusbraga
Curtidas 0
Respostas
Edilcimar
22/04/2006
troque as imagens para jpg que são menores, em vez de 300k vc terá algo em torno de 15k
GOSTEI 0
Kroki
22/04/2006
Vc tambem pode só salvar o ´caminho´ das imagens no banco e coloca-las em um pasta separada,isso deixa o banco livre.
GOSTEI 0
Edilcimar
22/04/2006
O problema em salvar o ´caminho´ é que alguém pode apagar um bmp ou jpg e vc perde o dados, enquanto se estiver no bd vc só perde se apagarem o próprio bc
GOSTEI 0
Edilcimar
22/04/2006
O problema em salvar o ´caminho´ é que alguém pode apagar um bmp ou jpg e vc perde o dados, enquanto se estiver no bd vc só perde se apagarem o próprio bd
GOSTEI 0
Marcusbraga
22/04/2006
Edilcimar, sua dica foi perfeita fiz alguns testes e realmente as imagens de 300kb passaram a ter 12 kb.
ja melhora em muito.
Se nao for abusar muito sera que voce nao tem nenhum exemplo pra eu converter as fotos que ja estao no BD como BMP pra JPG.
Obrigado....
ja melhora em muito.
Se nao for abusar muito sera que voce nao tem nenhum exemplo pra eu converter as fotos que ja estao no BD como BMP pra JPG.
Obrigado....
GOSTEI 0
Marcusbraga
22/04/2006
Ok ja consegui converter.
procedure TForm1.Button1Click(Sender: TObject); Var MyJPEG : TJPEGImage; MyBMP : TBitmap; cimage :string; begin cimage := ´C:\teste\foto.´; with ibdataset1 do begin close; selectsql.Clear; selectsql.Add(´Select id, foto from clientes ´); open; end; IBDataSet1.First; while IBDataSet1.Eof = false do begin if IBDataSet1FOTO.Size <> 0 then begin IBDataSet1FOTO.SaveToFile(cimage +´bmp´); MyBMP := TBitmap.Create; MyBMP.LoadFromFile(cImage); MyJPEG := TJPEGImage.Create; MyJPEG.Assign(MyBMP); MyJPEG.SaveToFile(cimage + ´jpg´); MyJPEG.Free; ibdataset1.edit; IBDataSet1FOTO.LoadFromFile(cimage+´jpg´); ibdataset1.post; ibtransaction1.CommitRetaining; end; ibdataset1.Next; end; end;
GOSTEI 0
Mikkabr
22/04/2006
Ok ja consegui converter.
procedure TForm1.Button1Click(Sender: TObject); Var MyJPEG : TJPEGImage; MyBMP : TBitmap; cimage :string; begin cimage := ´C:\teste\foto.´; with ibdataset1 do begin close; selectsql.Clear; selectsql.Add(´Select id, foto from clientes ´); open; end; IBDataSet1.First; while IBDataSet1.Eof = false do begin if IBDataSet1FOTO.Size <> 0 then begin IBDataSet1FOTO.SaveToFile(cimage +´bmp´); MyBMP := TBitmap.Create; MyBMP.LoadFromFile(cImage); MyJPEG := TJPEGImage.Create; MyJPEG.Assign(MyBMP); MyJPEG.SaveToFile(cimage + ´jpg´); MyJPEG.Free; ibdataset1.edit; IBDataSet1FOTO.LoadFromFile(cimage+´jpg´); ibdataset1.post; ibtransaction1.CommitRetaining; end; ibdataset1.Next; end; end;
Boa fiz um teste com esse exemplo e funcionou bem aqui
Acompanhei seu post, e tinha umas duvidas a respeito e deu e solucionei com as dicas do amigo Edilcimar, e com seu codigo deu pra mim ter uma ideia e alterar meu codigo fonte.
Vlw mesmo
:D
GOSTEI 0