[Spring] JPA 벌크 연산이란?
·
Back-end/Spring
만약, DB에 Member Table이 있고, Salary라는 컬럼이 존재한다고 가정해보자. 연봉 3000 미만의 member들의 Salary를 수정한다고 가정했을 때, JPA 관점에서는 다음과 같은 순서로 진행될 것이다. em.find() OR select 쿼리를 날려 영속성 컨텍스트에 엔티티 저장 후 반환반환 받은 엔티티의 값을 변경한다. -> 영속성 컨텍스트에 반영된다.Commit 시점에 변경 감지(Dirty Checking)가 일어나며 Update 쿼리를 날려 DB에 반영한다. 만약, salary를 변경할 member가 80만명이라면? 80만번의 더티 체킹이 일어나고, 80만번의 UPDATE 쿼리가 날아갈 것이다... 이를 해결할 수 있는 방안이 바로 벌크 연산이다. Bulk 연산이란? 벌크 ..