공부거리
JPA - findById() vs existById()
cocodingding
2024. 1. 2. 23:54
Null체크 국밥부 장관 findById()와 existById()
둘의 차이점을 알아보고 어떤 상황에서 어떤 메소드가 적절한지, 성능이 좋은지 알아보자
findById() vs existById()
리턴 값
findById -> Entity 반환
existById -> boolean 반환
즉, 로직 간 엔티티 자체가 필요한 경우 findById()
존재 여부만 체크하면 된다 -> existById()
쿼리문
findById()
findById는 select쿼리를 날리는 것을 볼 수있다.
existById
existById는 count 쿼리를 날린다.
성능
count쿼리를 사용하게 되면 결국 총 몇건인지를 확인하기 위해 전체를 확인해야하기 때문에 성능 차이가 날 수 밖에 없지만,
JpaRepository의 메소드 쿼리에선 내부적으로 limit 1을 사용하고 있기 때문에 성능상 이슈가 없다.