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


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

c서론 트랜잭션에 있는 readOnly가 읽기전용모드로서 cud가 발생하게 되면 에러를 뱉어주고, 읽기만 가능한 기능으로 알고 있었다. 그런데, 왜 성능향상에도 도움이 되는가에 대해선 자세히 몰라서 알아보았다. 본론 @Transactional(readOnly = true) 트랜잭션에서 readOnly=true 라는 옵션을 설정한다. FlushMode 를 MANUAL로 변경하여 dirty checking(변경감지) 을 생략한다. flush와 commit이 일어나지 않고, 이로 인해 영속성 컨텍스트에서는 스냅샷을 보관하지 않아 약간의 성능향상이 이루어지는 것. 크게 눈에 띄게 성능향상이 이루어지지는 않는다고 한다. 보통 사용하는 이유로는 해당 메소드가 변경이 되면 안되고, 조회하는 걸 명확하게 명시해주기 ..


원문링크 : [SPRING] @Transactional readOnly 성능향상 이유