-
[Spring JPA] Dirty Check 는 무엇이고, 그로 인한 성능적인 손해는 무엇일까?Back End/Spring Data JPA 2021. 11. 2. 20:10
# DirtyCheck
- JPA 영속성 관리자가 Session(트랜잭션) 이 종료되는 시점에 영속성과 DB 의 불일치를 자동으로 일치화 시켜주기 위해 checking 하는 것
- 대용량데이터를 읽고, 가지고 놀다가 DB에 반영안해야지 😏 하고 있다가 큰 코 다침...
- 그냥 읽기만하고 세션을 종료해도 dirtycheck를 하기 때문에 함수가 n번 호출되어 성능적인 손해가 발생
# 그럼 어떻게 해결하지...?
- @Transactional(readOnly=true) 로 지정
- autoFlush의 flag가 false가 된다. (코드위치를 못찾겠음... ㅠㅠ)
728x90'Back End > Spring Data JPA' 카테고리의 다른 글
[Spring JPA] Setter를 사용하지 않는다. (0) 2021.11.30 [Spring JPA] FetchType 이란? (EAGER, LAZY Fetch) (0) 2021.11.02 [Spring JPA] 쿼리메소드, JPQL, NativeQuery (@Query) (0) 2021.11.01 [Spring JPA] Repository Query Keywords (0) 2021.10.27 [Spring JPA] DB transaction isolation(격리수준) 개념 및 사용방법 (0) 2021.10.27