2009-08-26 1 views

답변

17

IMO 자율 트랜잭션은 주로 로깅에 적합합니다. 즉, 주 세션과 독립적으로 실행됩니다. 즉, 주 트랜잭션에 영향을주지 않고 테이블을 작성하고 변경 내용을 커밋하거나 롤백 할 수 있습니다.

또한 오버 헤드가 거의 없습니다. 큰 명령문을 실행하고 각 명령문 사이에 자율 트랜잭션을 추가하면 성능 비용은 무시할 수 있습니다.

재미있는 부작용이 있습니다. 자율 트랜잭션이 호출 트랜잭션의 독립적 인 세션에 있기 때문에 실행중인 주 프로세스의 진행을 따라갈 수 있습니다. 주 트랜잭션이 완료 될 때까지 기다릴 필요가 없습니다. 자율 트랜잭션에 의해 채워지는대로 로깅 테이블을 쿼리 할 수 ​​있습니다.

+2

더 이상 말 할 내용이 없습니다. – Christian13467

3

물론 주 트랜잭션이 롤백 되더라도 자율 트랜잭션에서 수행되는 모든 로깅은 데이터베이스에 남아 있습니다. 로깅에 대해서는 아마도 원하는 것일 수도 있지만, "Y 행 Y를 테이블 Y에 삽입"이라는 로그 레코드가 삽입이 실제로 커밋되었음을 의미하는 것은 아 U니다.