[firebase-br] Tamanho do campo Blob - Teste
Artur Anjos
listas em arturanjos.com
Sex Ago 22 10:21:27 -03 2008
Jhosef,
O Firebird usa "paginas". No caso dos blobs, se estes forem maior que o
tamanho da pagina, eles são armazenados em "blob pages".
Por exemplo, se o teu banco tiver uma pagina de 4k e o teu blob 17K,
este será guardado em 5 paginas, desperdiçando quase 3K (este exemplo é
muito grosseiro, há mais coisas em jogo, mas isto dá-te uma ideia). O
que fica guardado nas "data pages", que gaurda o teu registo, é um
pointer para a blob page.
Mas há mais variaveis tambem a considerar: no teu banco, e nos teus
testes, nao dizes se estás a alterar os blobs, por exemplo. Quando se
altera um "blob grande" o firebird guarda primeiro o novo blob, depois
marca as "blob pages" do anterior como disponiveis e serão utilizadas
pelo proximo blob. Isto é, a tua base de dados cresceu na altura, mas
tem espaço que vai ser re-utilizado.
Para veres o que pretendes, tens que fazer backup e restore após os
testes. Isso dar-te-à uma ideia melhor.
Artur Anjos
Firebird'it with us: http://www.serverptbr.com
Jhosef Marks wrote:
> Bom dia pessoal.
>
> Tenho uma tabela e preciso adicionar uma campo blob para armazenar textos
> formatados nesse novo campo.
> Fiz um teste para ver qual a proporção q isso iria criar no tamanho fisico
> do banco, agora olhem os resultados e me digam q estou completamente errado
> por favor...
> Um comparativo do antes e depois de adicionar um campo blob e inserir um
> valor padrão nele.
>
> Banco 1 - 38.541 registros
> Antes:
> Tamanho: 550 Mb
> Depois:
> Tamanho: 853 Mb
>
> Banco 2 - 14.719 registros
> Antes:
> Tamanho: 193 Mb
> Depois:
> Tamanho: 248 Mb
>
> Como é possivel o banco aumentar praticamente quase 50% sendo q no banco
> existe várias tabelas com campos blob do mesmo tipo???
>
>
Mais detalhes sobre a lista de discussão lista