COMMIT e ROLLBACK x PERFORMANCE
Dica publicada em Banco de Dados / Oracle
COMMIT e ROLLBACK x PERFORMANCE
Enquanto uma transação está em progresso, o Oracle irá continuar criando uma imagem dos dados que foram afetados pelas operações presentes na transação. Por padrão está imagem será apresentada aos usuários conectados em outra sessão, até que a transação que origino a imagem acabe. Esta imagem é utilizada em situações onde ocorrem o ROLLBACK para recuperar os dados.
O ROLLBACK irá descartar todas as modificações restaurando a imagem que contém todos os dados afetados pela transação que o originou; qualquer linha inserida na transação será removida, qualquer linha removida será inserida novamente na tabela e qualquer linha modificada irá voltar para seu estado original.
Sendo assim o COMMIT é instantâneo, porque não existe nada o que fazer realmente. O trabalho já foi feito. O ROLLBACK pode ser muito lento: ele irá normalmente demorar o mesmo tempo (talvez mais) para reverter uma operação que já consumiu recursos inicialmente para ser feita. ROLLBACK(s) não são bons para o desempenho do banco de dados.
O ROLLBACK irá descartar todas as modificações restaurando a imagem que contém todos os dados afetados pela transação que o originou; qualquer linha inserida na transação será removida, qualquer linha removida será inserida novamente na tabela e qualquer linha modificada irá voltar para seu estado original.
Sendo assim o COMMIT é instantâneo, porque não existe nada o que fazer realmente. O trabalho já foi feito. O ROLLBACK pode ser muito lento: ele irá normalmente demorar o mesmo tempo (talvez mais) para reverter uma operação que já consumiu recursos inicialmente para ser feita. ROLLBACK(s) não são bons para o desempenho do banco de dados.