채택완료

mysql autocommit과 transaction 관리

2023-02-02 (목) 18:10:59 2,217

한개의 mysql 트랜잭션이 여러개의 쿼리일 경우

커밋과 롤백을 이용해서 트랜잭션을 관리할 수 있다고 하는데

mysql autocommit 세팅을 0으로 바꾸면(오토커밋이 안되게 하면)

모든 쿼리코드에 커밋 명령어를 관리해줘야 하게 되는 건가요?

만약 그렇다면

대부분의 쿼리는 한개 쿼리가 한개 트랜잭션이 될텐데,

몇 개 소수의 두개 이상 쿼리로 구성된 트랜잭션을 관리하기 위해

모든 쿼리에 커밋 명령을 생각해서 코딩하는 것도 비효율적이네요.

실무에서는 어떻게 두개 이상 쿼리로 구성된 트랜잭션을 관리하는지 궁금합니다

|

답변 2개

채택된 답변
+20 포인트

일반적인 경우에는 안 쓰고 여러 쿼리중 한개라도 실패했을때 롤백이 필요한 로직에서만 사용하는 편입니다.

예를 들면 쇼핑몰에서 주문시 주문기초정보입력, 상태 변경, 재고차감, 주문결제요청, 결제응답 수신시 성공이면 커밋, 실패하면 모두 롤백.

2023-02-03 (금) 05:06:58

mysql autocommit 세팅을 0으로 바꾸면...

==

안 바꾸시면 되지 않을까요? ^^

답변을 작성하려면 로그인이 필요합니다.