nPlusOne
Last updated
Last updated
์ผ๋ฐ ์กฐ์ธ ์คํ ์ ์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ํจ๊ป ์กฐํํ์ง ์๋๋ค.
JPQL์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๋, select์ ์ ์ง์ ํ ์ํฐํฐ๋ง ์กฐํํ ๋ฟ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ณ ๋ คํ์ง ์๋๋ค.
๋ฐ๋ผ์ JPQL์คํ ํ, ์ฐ๊ด๋ ์ํฐํฐ n๊ฐ๊ฐ ์์์ฑ ์ปจํ ์คํธ์ ์์ ๊ฒฝ์ฐ n๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์คํํ๋ค.
๊ทธ๋์ ํ์น ์กฐ์ธ์ ์ฌ์ฉํด์ ์ฐ๊ด๋ ์ํฐํฐ๋ ํจ๊ผ ์กฐํํ๋ ๊ฒ.
ํ์น ์กฐ์ธ ๋์์๋ ๋ณ์นญ์ ์ค ์ ์๋ค.
๋ง์ฝ ์ค ์ ์๋ค๊ณ ํด๋, jpa์ค๊ณ์ ์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ ์ฝ์ ๋๋ ๊ฒ์ ๊ถ์ฅํ์ง ์๋๋ค.
์๋ฅผ ๋ค์ด, team์ member๋ฅผ list๋ก ๊ฐ์ ธ์ฌ ๋ where๋ก ์กฐ๊ฑด์ ๊ฑธ์ด ๋ช ๊ฐ๋ง ๋นผ์ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฒด ๊ทธ๋ํ ํ์์ ์ํด ์ฐ๊ด๋ ์ํฐํฐ๋ ๋ค ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋ง๋ค.
๋ ์ด์์ ์ปฌ๋ ์ ์ ํ์น ์กฐ์ธํ ์ ์๋ค.
@Batchsize์ฌ์ฉ
์ 'MultipleBagFetchException ๋ฐ์์ ํด๊ฒฐ ๋ฐฉ๋ฒ' ์ฐธ๊ณ
์ผ๋๋ค ํ๋๋ฅผ ํ์น ์กฐ์ธํ๋ฉด ํ์ด์ง ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๊ธฐ๊ฐ ํ๋ค๋ค.
์์ ๋งํ๋ ๋ฐ์ดํฐ ๋ปฅํ๊ธฐ, ์นดํ ์์ ๊ณฑ์ด ๋ฐ์ํ์ฌ ํ์ด์งํ๊ธฐ๊ฐ ๊น๋ค๋กญ๋ค.
์๋ฅผ ๋ค์ด, db์์ ํ๋์ ๋ฐ์ดํฐ๋ก ๋ฌถ์ฌ์ผ ํ ๋ก์ฐ๋ค์ด ๋ฑ๊ฐ๋ก ์ทจ๊ธ๋๋ ๊ฒ์ ๋ค ์ ์๋ค.
๋ค๋์ผ ํ๋, ์ผ๋์ผ ํ๋๋ ํ์น ์กฐ์ธํด๋ ์นดํ ์์ ๊ณฑ์ด ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ํ์ด์ง์ด ์ฌ์ฉ๊ฐ๋ฅํ๋ค.