강의

멘토링

로드맵

Inflearn Community Q&A

junho1030109's profile image
junho1030109

asked

Java ORM Standard JPA Programming - Basics

Persistence Context 2

쓰기지연 관련.

Resolved

Written on

·

346

0

안녕하세요. 강사님!

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

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

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

javaJPA

Answer 2

4

yh님의 프로필 이미지
yh
Instructor

안녕하세요 양준호님^^

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

이 옵션을 키면 

INSERT MEMBER(A)

INSERT MEMBER(B)

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

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

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

감사합니다.

0

junho1030109님의 프로필 이미지
junho1030109
Questioner

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

junho1030109's profile image
junho1030109

asked

Ask a question