• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

트랜잭션 사용 유의점

23.11.01 18:16 작성 조회수 167

0

안녕하세요.

지난번 질문에 빠른 답변감사합니다.

 

트랜잭션 공부 중 주의사항에 대한 블로그 글을 짧게 봤는데요, 트랜잭션은 꼭 필요한 최소의 코드에만 적용하는 것이 좋다는 내용이었습니다. 결제 부분만 트랜잭션을 사용하고 나머지 게시판, 채팅 등 다른 기능 구현시 굳이 트랜잭션 사용 안해도 되는거죠?

답변 1

답변을 작성해보세요.

0

안녕하세요! 웨스님!

1.조회에 비하여 일반적으로 등록은 요청 횟수가 적은 이유, 일반적으로 2.등록은 여러테이블에 함께 등록되어야 하는 경우가 많은 이유 등에 의하여, 등록과 관련된 부분은 트랜잭션을 처리해 주시면 좋을 것 같아요!


따라서, 트랜잭션을 하지 않기보단 꼭 필요한 부분에만 범위를 축소하여 사용하실 필요가 있습니다!
예를들면 아래의 로직이 있다고 한다면,
[[ 로그인체크 => 게시글오류체크 => 게시글등록 => 파일등록 => 등록완료알람 ]]

트랜잭션의 범위를 꼭 필요한 부분으로 축소하여 아래와 같이 변경해 주시는게 좋을 것 같아요!
로그인체크 => 게시글오류체크 => [[ 게시글등록 => 파일등록 ]] => 등록완료알람


혹시라도 성능 등의 문제가 예상되는 부분이라 제외하셨다면, 해당 부분은 트랜잭션이 아니더라도 문제 발생시 동기화 방안 및 시스템을 도입해 주시는게 좋습니다!

웨스님의 프로필

웨스

질문자

2023.11.02

네 ^^

설명 감사합니다 ~ !