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 이 일어나기에 성능 저하.
'Jpa' 카테고리의 다른 글
spring-boot Jpa 복합키 설정 Embedded (0) | 2020.09.06 |
---|---|
spring boot, jpa save 동작 원리 (merge, persist) (0) | 2020.07.25 |
spring-boot, Jpa 정리 - Transaction 묶음 (0) | 2020.07.11 |
spring-boot, Jpa 정리 - Integrate test (Jpa 통합 테스트) (0) | 2020.07.11 |
spring-boot, Jpa 정리 - Oracle Sequence 사용하기 (0) | 2020.07.11 |
댓글