인프런 커뮤니티 질문&답변

원석나님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

영속성 컨텍스트 2

hibernate.jdbc.batch_size 질문있습니다.

21.06.23 17:21 작성

·

552

0

JPA가 쓰기지연으로 인해 한 트랜잭션 안에서

엔티티를 몇개를 persist 하던간에 commit을 만나기 전까지는 1차캐시 저장소와 쓰기지연 sql 저장소에 각각 보관해두다가 commit을 만나면 DB에 insert 쿼리를 날리는거 맞나요 ??

그렇다면 batch_size  옵션이 전 무의미하다고 느껴져서요 !!

어차피 이 옵션이 있던지 없던지 한번에 쿼리는 날리는데 어떤의미가 있는지 잘 와닿지가 않습니다.

답변 2

3

김영한님의 프로필 이미지
김영한
지식공유자

2021. 06. 23. 23:13

안녕하세요. 원석나님

해당 옵션 여부에 따라서 모아둔 쿼리를 DB에 하나씩 보내는가, 아니면 DB에 쿼리를 한번에 모아서 보내는가의 차이가 있습니다.

모아서 보내면 네트워크 전송 횟수가 줄어들겠지요?

감사합니다.

원석나님의 프로필 이미지
원석나
질문자

2021. 06. 23. 23:23

답변 너무 감사합니다  !!

기본은  일단  몇개인지 안정하고  persist 하는 개수만큼 가는게 맞나요 강사님??

옵션에  1이라고 하면  persist가 4개 있을경우  4번 보내게 되나요?

김영한님의 프로필 이미지
김영한
지식공유자

2021. 06. 23. 23:26

네 맞습니다^^

2

원석나님의 프로필 이미지
원석나
질문자

2021. 06. 28. 14:31

아~ 옵션을 안 키고 persist를 2번하면 네트워크를 2번 타고 

키고 하면 1번만 타겠군요!! 

속시원하게 해결되었습니다 ㅎㅎ 정말 감사합니다