2017-12-01 18 views

답변

2

프레임 워크에서 지원하는 경우 내 경험으로 기본 설정을 사용하는 것이 좋습니다. 커밋하는 것을 잊어 버리면 커밋되지 않은 트랜잭션이 많은 리소스를 잠글 수 있습니다.

0

오버 헤드가 추가되지 않습니다. 모든 자동 커밋 트랜잭션은 명시 적 시작 및 커밋으로 트랜잭션과 동일한 작업을 수행하지만, 자동 커밋 트랜잭션은 각 SQL 문이 완료된 직후 커밋합니다.

자동 커밋을 사용하도록 설정하면 단점도 없습니다. 명시 적으로 트랜잭션을 시작하면 사용자가 커밋 할 때까지 해당 세션의 자동 커밋을 해제합니다. 그런 다음 명시 적으로 다른 트랜잭션을 시작할 때까지 자동 커밋으로 돌아갑니다.

@Sherry가 지적한 것처럼 자동 커밋을 사용하지 않도록 설정하는 위험은 명시 적으로 명시 적으로 커밋되지 않은 코드가있을 수 있습니다. 이로 인해 의도하지 않았을 때 트랜잭션이 진행됩니다. 이렇게하면 세션이 잠금을 유지하고 다른 세션을 차단할 수 있습니다. 또한 롤백 세그먼트를 적시에 정리할 수 없습니다.

내 응용 프로그램에서 단일 트랜잭션으로 여러 명령문을 수집하고자하는 경우가 아니라면 자동 적용이 필요합니다. 그런 다음 특정 사건에 대한 거래를 시작합니다. 어쨌든 전역 자동 커밋을 사용 가능하게 유지합니다.