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?
Em 26 de agosto de 2016 10:29, <siste...@mvsoftware.com.br> escreveu:
Pessoal estou fazendo uma rotina (com loop) que exige update numa lista de
registros, estou na dúvida se é melhor dar Commit a cada Insert ou a cada X
registros, qual a carga que o Postgres aguenta sem dar Commit a cada registro?
Por exemplo, tenho um loop que atualiza 2mil registros (que irá aumentar a
cada dia), dou o Commit a cada X registros ou só no final?
Eu gostaria de "Comitar" no final, caso alguma coisa de errado, não bagunço a
base, mas minha preocupação é a memoria que isso pode usar, se é que ele usa a
memoria e não uma tabela temporária no disco.
Marcelo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
bom dia Marcelo,
nos aqui na empresa tínhamos um problema de performance qdo efetuávamos uma
grande quantidade de insert e efetuando commit registro a registro.
Atualmente mudamos para 5000 registros e melhorou muito.
mas por que 5000? como utilizamos multi-banco, acho que foi imposição do sql
server 2008(se nao me engano) de só aceitar essa quantidade.
pense no seguinte:
insert into table values (1,1),(1,2),(1,3),(2,1);
....
e não
insert into table values (1,1);
insert into table values (1,2);
insert into table values (1,3);
insert into table values (2,1);
claro que você pode efetuar um teste de mesa bem simples e tirar as suas
conclusões no seu ambiente.
--
Douglas Fabiano Specht
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.
Marcelo
--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral