실험 1. 커뮤니티 게시글 전체 조회.
📌조건 : 1000명의 유저가 1초 동안 2번씩 요청한 경우
💡쿼리 수정 전
💡쿼리 수정 후
결과 : 40s -> 9s로 개선
실험 2. 마이페이지 조회
💡쿼리 수정 전
💡쿼리 수정 후
결과 : 9s -> 8s로 개선
개선 방법은 같은 팀원이 sql문을 사용해서 querydsl로 적용시켰다.
Projections.fields
방식을 사용해서 dto에서 정의한 필드의 이름과 select절에서의 각 필드명이 일치해야 한다.
만약 일치할 수 없는 상황이라면 .as("별칭")을 주고, 서브 쿼리로 ExpressionUtils를 사용해서 각 Entity를 합쳐서 쿼리량을 줄였다.
querydsl의 여러 사용법
https://velog.io/@maestroks/QueryDsl%EC%9D%98-%EC%97%AC%EB%9F%AC-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95