• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

쓰기지연 관련.

19.11.22 15:12 작성 조회수 198

0

안녕하세요. 강사님!

[1] commit 하기전에는 1차캐쉬 영역에 보관(?) 되었다가 commit 날릴때 db에 insert 되는건 이해했는데요..

[2] 뒤에 설명(16:20)부분에  hibernate.jdbc.batch_size 옵션을 켜주면 사이즈만큼 모아서 한방에 쿼리를 날린다. 

[1]설명 하실때 해당 옵션이 비활성 되어 있음에도, commit 할때 insert 되었는데 [2] 옵션과 commit과 차이가 잘 이해가 안갑니다.... 

답변 2

·

답변을 작성해보세요.

4

안녕하세요 양준호님^^

해당옵션과 무관하게 INSERT 쿼리는 트랜잭션 커밋 시점에 데이터베이스에 반영됩니다. (데이터베이스에 INSERT 쿼리가 날라갑니다.)

이 옵션을 키면 

INSERT MEMBER(A)

INSERT MEMBER(B)

이렇게 2개의 INSERT를 모아서 네트워크 통신 한번에 보내는 최적화가 진행됩니다^^

그리고 이 옵션을 키지 않으면 네트워크 통신이 각 INSERT SQL마다 각각 총 2번 일어납니다^^

그런데 실무에서 이 옵션을 키는 일은 정말 무거운 배치 업무를 제외하고는 거의 없습니다.

감사합니다.

0

양준호님의 프로필

양준호

질문자

2019.11.23

답변감사합니다~^^ 좋은주말되세요