[firebase-br] Ajuda com controle de Transações

Frederico Godoi frederico.godoi em gmail.com
Qui Mar 20 14:57:51 -03 2014


Galera, gostaria de pedir ajuda dos mais experientes com o controle
eficiente de transações.

Minha aplicação, em Delphi, usa o modelo "Cliente - Servidor".
Hoje uso o pacote de Componentes da FIBPlus que é MUITO parecido com o IBX.
Migrei justamente para tentar melhorar esse controle.

Minha aplicação tem um componente DATABASE geral, ao entrar no sistema me
logo ao Servidor Firebird. Isso fica conectado até sair do sistema.
Junto ao componente Database eu tenho um componente Transaction,
configurado com os parâmetros: write, nowait, rec_version, read_committed.

TODAS as minhas Querys no sistema são ligadas a esse Database e
consequentemente esse Transaction.

Tanto consultas quanto Edições e Inserções sofrem o comando
"CommitRetainig" no final.
Quando saio do programa, pesquiso por transações ativas e faço efetivamente
um "Commit".

ACONTECE que, como alguns já imaginam, minhas estatísticas de Oldest
Transaction, Oldest Active e Next Transactions estão PÉSSIMAS, sempre
aumentando muito a diferença entre elas.
Só consigo matar esse lixo, claro, com um gfix -sweep.

Fazendo um teste de um arquivo MUITO grande que precisei importar, cheguei
a uma diferença de 12 milhões entre o Oldest Transaction e o Next
Transaction.

Gostaria de pedir sugestões de controles para os Srs.

*** CASO isso esteja fora do tema da lista, me avisem que cancelo o post
***



-- 
Frederico Godoi



Mais detalhes sobre a lista de discussão lista