본문 바로가기
728x90

Dirty Checking2

[Spring] Querydsl Bulk Update 성능 개선 일괄 업데이트 최적화에 대해 방식에 대해서 글을 정리해보고자 한다. JPA 사용하다 보면 더티 체킹(Dirty Checking)을 많이 사용하게 된다. 더티 체킹에 대해서 궁금하면 이 전 포스팅 글을 한번 읽어보는 것을 추천한다. 간단하게 설명하자면 조회된 엔티티의 변경 사항을 자동으로 데이터베이스에 반영해주는 기능이다. 1000건 ~ 10000 건등의 대량의 엔티티의 변경을 해야 한다면 해당 엔티티들을 조회해서 엔티티의 값을 변경하는 방식으로 개발이 될 것이다. 이러한 방식은 성능을 저하시키는 악영향을 끼치게 된다. 테스트 코드와 성능을 비교해보자. license 1000건의 엔티티를 조회해서 name을 업데이트하는 방식으로 테스트 진행해보자. 1. Dirty Checking 방식 @Transactio.. 2022. 11. 26.
[Spring] JPA 더티 체킹 (Dirty Checking) Querydsl 벌크 업데이트 대해서 글을 정리하려고 했는데 더티 체킹에 대한 내용이 있어서 먼저 더티 체킹에 대해 글을 써보려 한다. JPA 더티 체킹(Dirty Checking) Transaction안에서 Entity의 변경 상태를 확인하는 과정을 말한다. 즉, Entity의 상태 변경 검사를 뜻한다. Transaction은 두 가지 방식을 사용한다. 1. Class 또는 Method에 @Transactional Annotation을 사용하는 방식 @Transactional public void updateUser(Long id, String name) { Player player = playerRepository.findById(id); player.setName(name); } 2. EntityT.. 2022. 11. 25.
300x250