강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

jettee님의 프로필 이미지
jettee

작성한 질문수

실전! Querydsl

질문이 있습니다.

해결된 질문

작성

·

73

0

삭제된 글입니다

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. jettee님^^

번호로 답변 드릴께요.

1,2번

연관관계가 없어도 일반 조인은 물론이고, left 조인까지 안전하게 사용할 수 있습니다.

3번

이 부분은 정답은 없지만 일반적으로 mysql에서 제공하는 성능 최적화 부분 정도는 이해해야 한다 생각합니다. 특히 인덱스 부분은 잘 알아야 합니다. 사실 벤더마다 다르기는 하지만, 국내에서 mysql 계열과 오라클 계열 정도를 주로 사용하기 때문에, 본인이 사용하는 기술 위주로 잘 알면 좋다 생각합니다. 추가로 옵티마이저 힌트까지 공부해야 하나요? 라고 하면, 저도 과거에 이 부분은 DBA 분과 상의하면서 사용했습니다.

4번

JPA 프로젝트를 하더라도 성능 이슈의 90%는 관계형 데이터베이스에서 발생하기 때문에, 역정규화도 종종 사용합니다. 실제 역정규화를 적절하게 사용하는 것은 성능 관점에서도 중요하고, JPQL을 포함한 복잡한 쿼리를 줄일 수 있습니다. 이 부분은 일반적인 DB를 사용할 때와 비슷하다고 이해하시면 됩니다.

5번

이런경우 다양한 해결 방안들이 있습니다. 먼저 정말 이 쿼리를 꼭 성능 최적화를 할 필요가 있을까? 이런 질문이 항상 중요합니다. 예를 들어서 어드민에서 몇명만 가끔 쓰는 기능인데, 거기에 너무 최적화 고민을 하는 것은 좋지 않습니다. 그리고 한번의 쿼리로 모든 것을 해결하기 보다는 쿼리를 적절하게 분리해서 사용하는 식으로 방법을 찾으면 잘 풀리는 경우가 많습니다. 그래도 안되면 네이티브 쿼리를 써야겠지요? JPA를 사용하더라도 꼭 필요할 때는 가끔 네이티브 쿼리로 문제를 해결해야 합니다.

도움이 되셨길 바래요^^

jettee님의 프로필 이미지
jettee

작성한 질문수

질문하기