* @QueryHint
JPA Hint인 @QueryHint는 스냅샷을 사용하지 않으면서 당연히 스냅샷 사용안하니 더티체킹도 안한다.
* @Transaction readonly
@Transaction readonly는 flush를 안한다는거다. 그리고 현재 스프링 최신버전에서는 스냅샷 사용 안하니 그러므로 더티체킹을 안한다. (알아보니 옛날 버전은 스냅샵은 이용 한다는듯?)
따라서 이 두개는 읽기 전용에서는 성능 최적화를 얻을 수 있다. 근데 이 두개가 비슷해서 차이가 있나 알아봤는데 차이 없고 스프링 5.1버전 이후 @Transaction(readOnly=true)로 설정하면, @QueryHint의 readOnly까지 모두 동작 한다!
추가로 엔티티 조회가 아닌 바로 DTO로 조회할 때는 스냅샷이 안만들어져서 이경우에는 성능 이점이 없다!
참고
'Spring' 카테고리의 다른 글
Spring Security-JWT 사용시 (0) | 2024.11.11 |
---|---|
CORS 와 PreFlight (0) | 2024.10.11 |
Spring_5주차-(2) (0) | 2023.12.04 |
Spring_5주차-(1) (0) | 2023.11.28 |
Spring_4주차-(2) (0) | 2023.11.14 |