2009-08-26 3 views

risposta

17

transazioni IMO autonome sono particolarmente adatti per la registrazione: corrono indipendentemente dalla sessione principale, significa che è possibile scrivere in una tabella, commit o rollback modifiche senza influenzare la transazione principale.

Inoltre, essi aggiungono un overhead minimo: se si esegue grandi dichiarazioni e aggiungere una transazione autonoma tra ogni istruzione il costo delle prestazioni sarà trascurabile.

C'è anche un effetto collaterale che potresti trovare interessante: poiché le transazioni autonome sono in sessioni indipendenti dalla transazione chiamante, puoi seguire la progressione del tuo processo principale mentre è in esecuzione. Non è necessario attendere il completamento della transazione principale: è possibile interrogare la tabella di registrazione poiché viene riempita dalle transazioni autonome.

+2

Non c'è altro da dire. – Christian13467

3

Ovviamente, qualsiasi registrazione effettuata in una transazione autonoma rimarrà nel database anche se la transazione principale viene ripristinata. Per la registrazione questo è probabilmente ciò che si desidera, ma è importante ricordare che un record di registro che dice "inserito la riga X nella tabella Y" non significa che l'inserto sia stato effettivamente impegnato.