[firebase-br] Otimização de Transação

Josauro S.J. josauro em casasoft.inf.br
Seg Nov 30 14:06:49 -03 2009


Obrigado Souza por responder
Interessante a sua idéia, eu armazeno os codigo quando excluidos em uma 
tabela, e reutilizo os na ordem que foram excluidos, ate ai tudo bem, o 
problema é ter que startar e comitar uma transação independente so para essa 
tabela, a fim de que outros processos usem os valores da tabela corretos, 
mas isso tem um preço, a performan-se em grande volume de inclusões, fica 
muito lento, não o reaproveitamento de codigo, mas o processo de iniciar e 
fechar uma transação especifica.O mesmo deve ocorrer com o seu metodo, se 
dois estiverem acessando ao mesmo tempo, poderão encontrar o buraco e tentar 
usar.

O que procuro é uma forma de otimizar esse processo de transação 
independente, se deixar na transação corrente, fica rapidissimo, porem ai 
existe o problema de concorrencia, dois processo pegarem o mesmo valor, 
antes de commitar.

Abraços
Josauro S.J


>
> Em nosssos sistemas adotamos o uso de um arquivo mestre para prover o
> sequencial para as chaves primarias de todas as tabelas, assim faremos o
> reaproveitamento de codigos excluidos ou não usados.
> O problema é que para consistencia, precisa-se abrir uma transação
> especifica para pegar e atualizar o sequencia para na tabela mestre para
> cada registro que se for incluir nas tabelas do sistema, e esse processo 
> se
> torna estremamente lento em inclusões em massa, onde se gere um grande
> número de inclusões em outas tabelas.Com o uso do Generation o processo é
> extremamente rapido.
> Alguem utiliza esse processo, e achou uma solução para tornar esse 
> processo
> mais rapido ?
>
> Obrigado.
> Josauro S.J.






Mais detalhes sobre a lista de discussão lista