mysql autocommit과 transaction 관리
본문
한개의 mysql 트랜잭션이 여러개의 쿼리일 경우
커밋과 롤백을 이용해서 트랜잭션을 관리할 수 있다고 하는데
mysql autocommit 세팅을 0으로 바꾸면(오토커밋이 안되게 하면)
모든 쿼리코드에 커밋 명령어를 관리해줘야 하게 되는 건가요?
만약 그렇다면
대부분의 쿼리는 한개 쿼리가 한개 트랜잭션이 될텐데,
몇 개 소수의 두개 이상 쿼리로 구성된 트랜잭션을 관리하기 위해
모든 쿼리에 커밋 명령을 생각해서 코딩하는 것도 비효율적이네요.
실무에서는 어떻게 두개 이상 쿼리로 구성된 트랜잭션을 관리하는지 궁금합니다
답변 2
일반적인 경우에는 안 쓰고 여러 쿼리중 한개라도 실패했을때 롤백이 필요한 로직에서만 사용하는 편입니다.
예를 들면 쇼핑몰에서 주문시 주문기초정보입력, 상태 변경, 재고차감, 주문결제요청, 결제응답 수신시 성공이면 커밋, 실패하면 모두 롤백.
mysql autocommit 세팅을 0으로 바꾸면...
==
안 바꾸시면 되지 않을까요? ^^
답변을 작성하시기 전에 로그인 해주세요.