-
Notifications
You must be signed in to change notification settings - Fork 0
Description
๐ ๏ธ ๋ฆฌํฉํ ๋ง์ด ํ์ํ ๋ถ๋ถ
๊ฒฐ๊ตญ ํธ๋ํฝ์ด ๋ชจ์ด๋ ํ์ด๋ฐ์, ์ถ์ ๋น์์ด๋ค.
์์ฃผ ์งง์ ์๊ฐ ์์
- ๋ก๊ทธ์ธ์ ํ๊ณ (ํ์๊ฐ์ ํ ์๋ ์๋ค)
- ์๊ฐ ์ ์ฒญ ์น์ธ๋์์ผ๋ฉฐ, ํ์ฌ OPEN ์ํ์ธ ์์ ์ ๊ฐ์๋ฅผ ๊ฐ์ ธ์จ ๋ค์
- ์ถ์ ๋ฒํธ๋ฅผ ๋ณด๋ด์ด ์ถ์ ์ ์ฒญ์ ํ๋ค.
์ ์ 3๋ฒ ๊ณผ์ ์ ์ค์ด๊ธฐ ์ํด redis๋ฅผ ์ด์ฉํด DB ์ ๊ทผ์ ํ๋ฒ ์ค์๋ค.
ํ์ง๋ง, ์๊ฐ ์ ์ฒญ ๋ฐ์ดํฐ๊ฐ 4์ฒ๊ฐ์ผ๋, 1000๋ช
์ ํ์์ด ๋์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ฉด 11.1830์ด๊ฐ ์์ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ , 10๋ง๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋๋ 1000๋ช
๋์ ์กฐํ์ 650๊ฑด ์ด์ ํ์์์์ผ๋ก ์คํจํ์๋ค.
์ด๋ฒ์ 2๋ฒ ๊ณผ์ ์์ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด ๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณผ์ ์ ์ธ๋ฑ์ฑ์ ํตํด ์ค์ด๊ฒ ๋ค.
- ์์ ์ ๊ฐ์์ด๋ฉฐ
- ์๊ฐ ์ ์ฒญ์ด ์น์ธ ๋์๊ณ
- ํ์ฌ OPEN ์ํ์ธ ๊ฐ์๋ฅผ ๊ฐ์ ธ์์ผํ๋ค.
์ฒ์์๋ ์๊ฐ์ ์ฒญ ๋ฐ์ดํฐ์ ์ปฌ๋ผ์ธ ํ์ id์ ์น์ธ ์ฌ๋ถ์ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ผ๋, ๋ค์ ๊ณต๋ถํด ๋ณด๋ ๋ฐ๋ณด ๊ฐ์ ์๊ฐ์ด์๋ค.
์๋ํ๋ฉด, ์น์ธ ์ฌ๋ถ๋ ๋จ 3๊ฐ์ ์ข
๋ฅ๋ง ์๊ณ , ๋๋ถ๋ถ "์น์ธ"์ด๊ธฐ ๋๋ฌธ์ ์๋ ๊ฐ์ ์ ๊ทนํ ์์ ๋์ ์ฉ๋์ ๋จ์ผ ์ธ๋ฑ์ค์ ๋นํด 1.5๋ฐฐ ๋์ด๋ฌ๋ค.
๊ทธ๋์ ๋จ์ผ ์ธ๋ฑ์ค๋ก ๋ค์ ๋ณ๊ฒฝํ์๊ณ , ์๋ฐ ๋์์ฑ ์ปฌ๋ ์
์ ์ฌ์ฉํด ์ง์ ์ฑ๋ฅ ์ฐจ์ด์ ์ธ๋ฑ์ค ์ฉ๋ ํ
์คํธ ํ๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๋จ์ผ ์ธ๋ฑ์ค๋ฅผ ๊ฑธ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์์ ํ๋ค.
jpa ์ฟผ๋ฆฌ์์ ๊ทธ๋ฅ JSQL์ ํตํด ๊ฐ์ ธ์๋ค. ์ฟผ๋ฆฌ๋ฅผ ์์ ํ๋ฉด์ jpa์ ์ํ outer join ํ๋๊ฐ ์ค์๊ณ , ์ฌ์ํ์ง๋ง ๋ฐ๋ก ์ํ๋ ๊ฐ์ฒด๋ก ๊ฐ์ ธ์ค๋ฉด์ ๊ฐ์ฒด ๋ณํ ๊ณผ์ ๋ ์ค์ด๋ค์๋ค.
1๋ง๋ช
์ ํ์ 10๋ง๊ฐ ์๊ฐ ์ ์ฒญ ๋ฐ์ดํฐ, 1000๊ฑด ๋์ ์กฐํ - ์ฑ๋ฅ์ด ํฌ๊ฒ ๊ฐ์
30์ด ์ด์, 650๊ฑด ์ด์์คํจ(Time Out) -> 6.4638 ์ด ์์ + ์คํจ 0๊ฑด
2์ฒ๋ช
์ ํ์ 4์ฒ๊ฐ์ ์๊ฐ ์ ์ฒญ ๋ฐ์ดํฐ, 1000๊ฑด ๋์ ์กฐํ - ์ฝ 4๋ฐฐ ์ ๋์ ์ฑ๋ฅ ๊ฐ์ ์ด ์์๋ค.
11.1830์ด -> 2.9257์ด
(๋ฌผ๋ก RDS์ ์ํ์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์๋ ์ ํ๋๊ฐ ๋จ์ด์ง๋ ์ธก์ )
์์ธํ ๊ณผ์ ์ PR์ ์ ๊ฒ ๋ค. -> #58
๋ฆฌํฉํ ๋ง ์์ ๋ธ๋์น
feature/enrollment_indexing
โ Refactoring TODO
- Enrollment Info ํ ์ด๋ธ์ ์ธ๋ฑ์ฑ
- ํ์์ด ์ถ์ํ ๊ฐ์๋ฅผ ๊ฐ์ ธ์ฌ ๋ Lecture๋ฅผ ๊ฐ์ ธ์ค๋๋ก ์ฟผ๋ฆฌ ๋ณ๊ฒฝ
- Lecture Service์ Student Open Lecture๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฉ์๋ ์์