N + 1 ๋ฌธ์ ๋?
N + 1 ๋ฌธ์ ๋ ์ฆ์ ๋ก๋ฉ๊ณผ ์ง์ฐ ๋ก๋ฉ ์ ๋ต ๊ฐ๊ฐ ์ํฉ์์ ๋ฐ์ํ ์ ์๋ค. ํ์ ์ํฐํฐ๋ค์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ํ ์ฟผ๋ฆฌ์์ ๋ชจ๋ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์๋, ํ์ํ ๊ณณ์์ ๊ฐ๊ฐ ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ค.
์ฆ์ ๋ก๋ฉ์์ ๋ฐ์ํ๋ ์ด์ ๋ JPQL ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ฒด ์กฐํ๋ฅผ ํ์ ๋, ์์์ฑ ์ปจํ ์คํธ๊ฐ ์๋ DB ์์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ค์ ์ฆ์ ๋ก๋ฉ ์ ๋ต์ด ๋์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ง์ฐ ๋ก๋ฉ์์ ๋ฐ์ํ๋ ์ด์ ๋ ์ง์ฐ ๋ก๋ฉ ์ ๋ต์ ์ฌ์ฉํ ํ์ ์ํฐํฐ๋ฅผ ๋ก๋ํ ๋ JPA ์์ ํ๋ก์ ์ํฐํฐ๋ฅผ ์ค์ฒดํํ ๋ ํด๋น ์ํฐํฐ๋ฅผ ์กฐํํ๊ธฐ ์ํด ์ถ๊ฐ์ ์ธ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๊ธฐ ๋๋ฌธ์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
Fetch Join
- JPQL ์
join fetch
๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ํ ๋ฒ์ ๋ชจ๋ ๊ฐ์ ธ์จ๋ค.