본문 바로가기
Jpa

spring-boot, Jpa 정리 - Insert, Update bulk 처리

by 무대포 개발자 2020. 7. 11.
728x90
반응형

나중에 볼 용도로 정리했습니다.

Jpa Insert, Update bulk 처리

Jpa 배치 관련 옵션 설명
hibernate.order_inserts=true
hibernate.order_updates=true
  • 위 옵션은 insert, update statement 를 처리할 때 정렬을 하겠다는 의미이다.
  • 정렬을 하는 이유는 성능을 높이기 위함.
  • 어떻게 성능을 높이는지는 다음과 같다.
Family family = new Family();
family.setParent(parent);
family.setChild(child);

xxxRepository.save(family);
  • 위 예시는 다음과 같이 동작한다.
insert into Family (xxx) 
insert into parent (xxx)    
insert into child (xxx)    
  • 각각에 대해 insert transaction 이 일어난다.
  • 만약, 이전에 실행된 statement 와 동일하다면 그것을 묶어서 batch 처리한다.
  • 그렇기에 위 옵션을 사용해서 정렬을 하면 배치 성능이 좋아진다.
  • 만약 옵션이 없다면 각각 transaction 이 일어나기에 성능 저하.

댓글