JVM/Spring

[SPRING] @Transactional readOnly 성능향상 이유

Hyo Kim 2021. 9. 5. 17:25
728x90
반응형

🙄서론

트랜잭션에 있는 readOnly가 읽기전용모드로서 cud가 발생하게 되면 에러를 뱉어주고,

읽기만 가능한 기능으로 알고 있었다.

그런데, 왜 성능향상에도 도움이 되는가에 대해선 자세히 몰라서 알아보았다.

 

😎본론

@Transactional(readOnly = true)

트랜잭션에서 readOnly=true 라는 옵션을 설정한다.

FlushModeMANUAL로 변경하여 dirty checking(변경감지) 을 생략한다.

flush와 commit이 일어나지 않고, 이로 인해 영속성 컨텍스트에서는 스냅샷을 보관하지 않아

약간의 성능향상이 이루어지는 것.

 

크게 눈에 띄게 성능향상이 이루어지지는 않는다고 한다.

보통 사용하는 이유로는 해당 메소드가 변경이 되면 안되고,

조회하는 걸 명확하게 명시해주기 위해서 사용하는 것 같다.

728x90
반응형