[firebase-br] RES: RES: Firebird 2.5 Super Classic - Comportamento Estranho ao UPDATE

Moacir - Softin Sistemas moacir em softin.com.br
Seg Set 8 07:47:41 -03 2014


Sim, quando tem muito UPDATE/DELETE numa mesma tabela e com volume de
registros grande, a tendência é ficar lento. Tenho este problema em 2
tabelas na minha aplicação e a solução é fazer o backup/restore.

Att,
Moacir



-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Kurt Schneider
Enviada em: segunda-feira, 8 de setembro de 2014 07:24
Para: FireBase
Assunto: Re: [firebase-br] RES: Firebird 2.5 Super Classic - Comportamento
Estranho ao UPDATE

Prezados,.

Agradeço muito o esclarecimento de vocês.

A questão passa a ser agora, algo diferente, e preocupante.

Os dados que enviei para vocês são reais, de um banco em operação. Não
posso considerar aquilo normal
visto que 888 pages foram alocadas, mas nao liberadas (Garbage Colletion??)

Ou seja, em um cliente com muitas atividades ocorrendo sobre a mesma
tabela, como recalculo
de Saldo - que é meu caso, terei que fazer backup - restore a cada 15 dias,
caso contrário a base e a operação
tendem a ficar lentos.

Isso ja ocorreu com vcs.?

Att

2014-09-06 3:41 GMT-03:00 W O <sistemas2000profesional em gmail.com>:

> Kurt, el Firebird agrega una fila llamada "delta" cada vez que haces un
> UPDATE o un DELETE. Eso es correcto, porque te permite hacer un ROLLBACK
> pero va acumulando basura, esa basura solamente desaparece si haces un
> SELECT a esa fila o un barrido (sweep) o un ciclo backup/restore.
>
> Tener basura dentro de una Base de Datos es normal y no debes preocuparte
> demasiado por eso pero de vez en cuando debes eliminarla para que todas
las
> operaciones sean más rápidas.
>
> Para entender mejor lo que sucede puedes leer este artículo:
>
>
>
http://firebird21.wordpress.com/2013/09/11/entendiendo-sweep-y-garbage-colle
ction/
>
> Saludos.
>
> Walter.
>
>
> 2014-09-05 17:20 GMT-04:00 Moacir - Softin Sistemas <moacir em softin.com.br
> >:
>
> > Kurt,
> >
> > O firebird trabalha com versionamento de registros, ou seja, a cada
> > update/delete que você realiza, o mesmo
> > Cria um novo registro.É o famoso garbage(lixo). Por isso, quando você
> > realiza Backup/restore estes lixos são removidos fisicamente.
> >
> > Att,
> > Moacir
> >
> >
> >
> > -----Mensagem original-----
> > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Kurt
> Schneider
> > Enviada em: sexta-feira, 5 de setembro de 2014 18:10
> > Para: FireBase
> > Assunto: [firebase-br] Firebird 2.5 Super Classic - Comportamento
> Estranho
> > ao UPDATE
> >
> > Prezados
> >
> > Bom dia.
> >
> > Estou com uma duvida em relação ao processo ou resultado do Statistics
do
> > Firebird, no quesito PageSize (aumento do tamanho da Base de Dados).
> >
> >
> > O servidor onde esta Rodando o Firebird 2.5 SuperClassic é um iCore7, 16
> GB
> > de RAM, dedicado somente para o Banco de Dados; O Exe da minha Aplicação
> é
> > em Delphi 2007,
> > usando ADO e ADOQuery. Uso Windows Server 2012 Standart. O Arquivo
> > firebird.conf não
> > esta configurado ou " tunado " para esta máquina - esta usando o arquivo
> > que vem junto na instalação. Sweep esta agendado par todo dia, as 02:00
> da
> > manhã
> >
> > A Base tem 1.3 GB (Backup e Restore feitos para o Teste que vou
> > apresentar). O Start do teste
> > se da com 447 Pages para a Tabela TB_CCLANCA, descrita abaixo, que
possui
> > 18.922 registros Fisicos.
> >
> > Pages Size MB (Size / 1024) Slots Fill Records
> > 447 3.661.824 3.576 447 87 18.922
> > T1 - 455 (5 Lcto) 3.727.360 3.640 455     88 18.922
> > T2 - 459 (2 Lcto) 3.760.128 3.672 459   89 18.922
> > T3 - 466 (6 Lcto) 3.817.472 3.728 466   90 18.922
> > T4 - 469 (1 Lcto) 3.842.048 3.752 469   90 18.922
> > T5 - 475 (1 Lcto) 3.874.816 3.784 473   90 18.922
> > B_R - 477 3.661.824 3.576 447   87 18.922
> >
> >
> > Fiz 5 Testes de UPDATE (T1 a T5), e somente update na tabela, trocando o
> > conteúdo
> > de 3 campos
> >
> > DataCompensacao
> > Compensado
> > Saldo
> >
> > Se vocês observarem, a cada T, o Banco vai alocando pages para os Update
> e
> > aumentando (Size) o tamanho da Tabela (Fisicamente), sendo que o numero
> de
> > registro não aumenta.
> >
> > Entendo que sejam necessário alocar recursos para as operações de
Update,
> > mas estes recursos não deveria ser liberados apos o fim do processo?
> >
> > Esclarecendo. A minha transação tem inicio e fim, (BeginTrans,
> > CommitTrans), as querys são
> > fechadas e destruídas com FreeAndNil e o exe, em tempo de execução, não
> > ultrapassa os 11 MB. Mesmo ao fechar o EXE, nada muda.
> >
> > Realizei as manutenções indicadas, que contemplam SWEEP, Limbo
> Transaction
> > e afins.. e a tabela continuou com os mesmo Pages e Size. Só voltou ao
> > normal quando foi realizado novo Backup - Restore (B_R - 477), voltando
> > assim ao tamanho original (o que achei que deveria ocorrer após cada
> > operação de Update).
> >
> > Aceito sugestões, indicações de artigos, livros, links... e opiniões dos
> > colegas, visto que, ao meu entender, caso nao seja feito um backup
> restore
> > na base, e eu fizer apenas updates,a  mesma vai aumentar de tamanho em
> > inserir sequer um registro.
> >
> > A titulo de comparação, no ultimo Backpu Restore desta base, Pages
estava
> > 1335, a após o Restore 447.
> >
> > Att
> >
> > --
> >
> > *Kurt Schneider*
> > Gerente de Programação
> > (49) 3329 1878 / (49) 9148-4809
> >
> > *www.controlsoft.com.br <http://www.controlsoft.com.br>*
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 

*Kurt Schneider*
Gerente de Programação
(49) 3329 1878 / (49) 9148-4809

*www.controlsoft.com.br <http://www.controlsoft.com.br>*
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista