728x90
반응형
🙄서론
트랜잭션에 있는 readOnly가 읽기전용모드로서 cud가 발생하게 되면 에러를 뱉어주고,
읽기만 가능한 기능으로 알고 있었다.
그런데, 왜 성능향상에도 도움이 되는가에 대해선 자세히 몰라서 알아보았다.
😎본론
@Transactional(readOnly = true)
트랜잭션에서 readOnly=true 라는 옵션을 설정한다.
FlushMode 를 MANUAL로 변경하여 dirty checking(변경감지) 을 생략한다.
flush와 commit이 일어나지 않고, 이로 인해 영속성 컨텍스트에서는 스냅샷을 보관하지 않아
약간의 성능향상이 이루어지는 것.
크게 눈에 띄게 성능향상이 이루어지지는 않는다고 한다.
보통 사용하는 이유로는 해당 메소드가 변경이 되면 안되고,
조회하는 걸 명확하게 명시해주기 위해서 사용하는 것 같다.
728x90
반응형
'JVM > Spring' 카테고리의 다른 글
[SPRING] @Valid 어떻게 동작할까 - java bean validation (0) | 2022.03.26 |
---|---|
[SPRING] 스프링의 컨트롤러는 어떻게 여러 작업을 처리할까? (0) | 2021.11.15 |
[SPRING] synchronized와 @Transactional 을 동시에 사용 시 문제점 (5) | 2021.08.16 |
[SPRING] AOP 우선순위 설정하기. (2) | 2021.08.14 |
[SPRING] @Transactional (트랜잭션) 강제 롤백 (0) | 2021.07.25 |