taetaetae / blog-comment

0 stars 0 forks source link

2016/10/08/20161008/ #6

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

Spring Transaction 옵션 - 꿈꾸는 태태태의 공간

상황스프링 환경에서 일반적으로 DAO 나 BO 레벨에서 다음과 같이 코딩을 하게 된다.

https://taetaetae.github.io/2016/10/08/20161008/

zbum commented 4 years ago

REPEATABLE_READ 에서 SELECT 만 해도 shared lock이 걸리는 것이 사실인가요? 제가 MySql InnoDB 에서 테스트 한 바로는 그렇지 않던데요?

zbum commented 4 years ago
ppyong commented 3 years ago

위랑 같은 내용인데요 mysql에서 repeatable read 의 경우 언두로그를 통해 일관성있는 데이터를 제공하지 기본적으로 어떤 명시적 락을 사용하지 않는 한 락을 걸지 않는걸로 알고있습니다 이전에 찾아볼일이 있어서 공식 문서를 확인했었어요.

아 어쩌다보니 댓글단건데 위 내용에 관한걸 적으려던건 아니었고요.

혹시 배치에서 위 상황에 반복문 안에 트랜잭션을 넣었단건 매 쿼리시마다 트랜잭션 처리가 들어갔다는건데 속도 문제는 혹시 없었나요? 추가로 반복문을 통해 실행 할 작업들이 일부만 변경(삭제) 되어도 문제가 없던건가요?

tmdgusya commented 2 years ago

네 INNODB 를 이용해서 SELECT 를 하게되면 저 또한 명시적 LOCK 을 걸어주지 않는다면 SHARED LOCK 이 걸리지 않는것으로 알고있습니다.

@ppyong 님 말도 이해가 가나, undolog 에 무리가 갈정도의 트랜잭션이였다면 하나의 트랜잭션 단위가 무지 컸던거 같습니다...