-
Notifications
You must be signed in to change notification settings - Fork 1
TypeORM โ Lazy Loading
TypeORM์์ ๊ด๊ณ๋ฅผ ์ ์ํ ๋, ๊ด๊ณ ํ๋์ Promise ํ์ ์ ์ฌ์ฉํ๋ฉด Lazy Loading์ ํ์ฑํ ํ ์ ์๋ค.
@OneToMany(() => Story, (story) => story.user, {
cascade: true,
})
stories: Promise<Story[]>;
Lazy Loading์ด ํ์ฑํ๋ ํ๋์ ์ ๊ทผํ ๋, TypeORM์ ํด๋น ๋ฐ์ดํฐ๋ฅผ DB์์ ๋ก๋ํ๊ฒ๋๋ค.
Lazy Loading์ ์ ์ฉํ๋ฉด ํ์ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐํด์ง๋ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ค. ๋ํ ์ฌ์ฉํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ต์ ํ ํ ์ ์๋ค.
Lazy Loading์ ๋ํ์ ์ธ ๋จ์ ์ N+1 ๋ฌธ์ ์ด๋ค.
๊ฐ ์ํฐํฐ์ ๋ํด ๋ณ๋์ ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋๋ฐ, ์ด๋ก ์ธํด ๋ง์ ์์ ์ํฐํฐ์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
TypeORM์์ Lazy Loading ์ ์ ์ฉํ๊ธฐ ์ , ์ค์ ๋ก eager loading๊ณผ lazy loading์ ์ฑ๋ฅ์ ๋น๊ตํด๋ณด์๋ค.
์๋๋ฆฌ์ค๋ ์คํ ๋ฆฌ 3๊ฐ๋ฅผ ์์ฑํ ์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์์ ํตํด ๊ฐ์ ธ์ค๋ ์ํฉ์ผ๋ก ์ค์ ํ์๋ค.
์ธก์ ๊ฒฐ๊ณผ eager loading์ ๊ฒฝ์ฐ 25.034ms, lazy loading์ ๊ฒฝ์ฐ 17.927ms์ ์๊ฐ์ด ์์๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
์ด ์ฐจ์ด๋ ์ ์ ์ ์๊ฐ ๋์ด๋ ์๋ก, ์ ์ ์ ์คํ ๋ฆฌ ์์ฑ ๊ฐ์๊ฐ ๋์ด๋ ์๋ก ๋งค์ฐ ์ปค์ง๊ฒ์ด๋ผ ์์ธก๋์๊ณ , ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ์ ํจ์จ์ฑ์ ์ํด lazy loading์ ์ ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค.
- ๐จ ์ฑ ๋์์ธ
- ๐ API
- ๐๏ธ ๊ทธ๋ผ์ด๋ ๋ฃฐ
- ๐ ์ฝ๋ ์ปจ๋ฒค์
- ๐ซก ๋ง๋ฌด๋ฆฌ ์๊ฐ
- NaverLogin-SDK-iOS SPM ๋ฏธ์ง์ ์ด์
- ํ์ฑ์ค - ํํฝํ์ ์ํคํ ์ฒ ๊ตฌ์กฐ
- ํ์ฑ์ค - ์์ฐ์ฑ ์๋ ๋คํธ์ํฌ
- ํ์ฑ์ค - ๋ชจ๋ ํ ํ๋ฆฟ
- ์ด์ค๋ณต - NaverMap-SDK-iOS SPM๋ง๋ค๊ธฐ
- ์ ์ธํธ, ์ต๊ฒ๊ธฐ - BE ์ด๋ฏธ์ง ์ฒ๋ฆฌ
- ์์ ๋ฏผ - multipart/form-data
- ํ์ฑ์ค - ๋คํธ์ํฌ ์์ฒญ
- ์ต๊ฒ๊ธฐ - Exception Filter, Slack ์๋ฆผ
- ํ์ฑ์ค - Swipe Back
- ํ์ฑ์ค - ํด๋ฌ์คํฐ๋ง
- ์ ์ธํธ - Push Server-1
- ์ ์ธํธ - Push Server-2
- ์ด์ค๋ณต - ๋ฐฑ์๋ ์ง์์ ์ค์์ฑ
- 10์ 11์ผ (์) - ์ฑ ์๋น์ค ์ฃผ์ ๊ณ ๋ฏผ
- 10์ 12์ผ (๋ชฉ) - ์ฑ ์๋น์ค ์ฃผ์ ํ์
- 10์ 17์ผ (ํ) - ์ฑ ๋์์ธ ์ค๊ณ
- 10์ 24์ผ (ํ) - ์ฑ ์์ธ ๊ธฐํ
- DB ์ ํ ๊ณผ์
- TypeORM ์ ํ ์ด์
- Docker ์ ํ ์ด์
- Github Action ์ ํ ์ด์
- DB์๋ฒ์ ์๋น์ค ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ ์ด์
- ์๋์์ฑ์ ์ํ Trie ๊ตฌ์กฐ๋ฅผ ์ ๊ฑฐํ๊ณ , naver cloud search๋ก ๋์ฒดํ ์ด์
- 1์ฃผ์ฐจ ๋ชฉํ - ํ์ ์ ์ํ ์ค๋น
- 2์ฃผ์ฐจ ๋ชฉํ - UI ๋ฐ DB ๊ตฌ์ถ
- 3์ฃผ์ฐจ ๋ชฉํ - ๋ฐฑ์๋์ ์๋น์ค ์ฐ๊ฒฐ
- 4์ฃผ์ฐจ ๋ชฉํ - QA ํด๋ณด๊ธฐ
- 5์ฃผ์ฐจ ๋ชฉํ - ๋ฒ๊ทธํฝ์ค
- 11์ 07์ผ (ํ) - ํ๋ก์ ํธ ์ค๋ช
- 11์ 16์ผ (๋ชฉ) - ํ๋ก์ ํธ ์งํํ๋ฉด์ ์๊ธด ๊ณ ๋ฏผ
- 11์ 21์ผ (ํ) - ๋ฉํ ๋ถ๋ค ํผ๋๋ฐฑ
- 11์ 28์ผ (ํ) - ํธ๋ฌ๋ธ ์ํ ํผ๋๋ฐฑ
- 12์ 05์ผ (ํ) - ๊ธฐ์ ์ ๋์ ์ ๋ํ ๊ณ ๋ฏผ
- 12์ 12์ผ (ํ) - ์ต์ข ๋ฐํ ํผ๋๋ฐฑ