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