-----Mensagem Original-----
From: Osvaldo Kussama
Sent: Friday, August 26, 2016 11:42 AM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Commit a cada Insert ou N registros?
Em 26/08/16, [email protected]<[email protected]>
escreveu:
From: Douglas Fabiano Specht
Sent: Friday, August 26, 2016 11:16 AM
To: Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Commit a cada Insert ou N registros?
Obrigado pela resposta Douglas, eu fiz uns testes aqui e relamente commit
em
bloco é mais rápido, minha duvida é com relação a quantidade de registros
que posso manter em cache antes do commit, eu gostaria que, se a transação
desse algum erro ele não alterasse nada, pois se der um erro vou pedir ao
usuario para executar a rotina novamente após a correção, mas vou ter que
estudar melhor isso, pois creio que haja um limite nesse bloco, nada que
umas validações a mais não resolva.
Note que se você fizer COMMIT a cada n registros e der algum problema
muito provavelmente você já terá permanentemente em sua base os
registros já commitados.
Não será possível simplesmente reexecutar a rotina. A rotina tem que
saber a partir de que ponto ela deve continuar o processamento.
Uma possível solução é você imprimir a cada COMMIT a quantidade de
registros já processados e, em caso de reprocessamento, informar ao
programa quantos registros ele deve saltar.
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Sim, o detalhe é mais performance e o quanto posso manter em cache antes de
comitar, eu já mantenho um campo status mostrando que aquele registro foi
anterado, como hoje faço registro a registro esse campo status me ajuda no
reprocesso, o que estou estudando é comitar todo o processo de uma vez ou a
cada N registros, eu prefero ao final do processo porque se der um erro
posso dizer ao usuario que nada mudou, mas se não der vou ter que fazer um
controle do que foi alterado elo campo status e numero de processo.
Marcelo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral