1. 문제
JPA n + 1

2. 문제 발견 경위
네이버 로그인 로직 구현 완료해서 잘 되는지 확인하려고 네이버 로그인 후 메인 페이지 접속하니 위와 같이 동일한 sql 이 여러개 나가는 것을 확인했다. JPA n + 1 문제 듣기만 했지 실제로 내가 겪을 줄 몰랐다.
(1) 해당 문제를 야기한 코드

3. 해결
sql 이 게시물과 연관된 게시물 파일 조회물임이 단번에 확인됐다. 그래서 게시물 파일 테이블을 게시물 조회할 때 같이 조회하도록 fetchJoin을 사용하고 게시물 중에서 file 이 없는 게시물이 있으면 inner join 을 하면 조회가 되지 않기 때문에 left join 을 사용해서 해결
(2) 해결 코드

결과 sql

이 sql 한 방만 나간다
'운영 > 게시판' 카테고리의 다른 글
| 게시판 성능 개선 1 (0) | 2025.01.17 |
|---|---|
| Java to Kotlin (0) | 2025.01.05 |
| 페이징 개선 (1) | 2024.12.29 |
| 서버 게시판 저장 및 수정 로직 수정 (0) | 2024.12.18 |
| 게시물 수정 페이지 오류 수정 (1) | 2024.12.18 |