์ธ๋ฑ์ค
๋๋ค & ์์ฐจ IO
๋์คํฌ ํค๋๋ฅผ 1๋ฒ, ์ฌ๋ฌ๋ฒ ์ฎ๊ธฐ๋๋? ์ฆ, ๋์คํฌ์ ์ฑ๋ฅ์ ๋์คํฌ ํค๋ ์์น ์ด๋ ์์ด ์ผ๋ง๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๊ธฐ๋กํ๋๋์ ๋ฐ๋ผ ๊ฒฐ์
Mysql ๋ ๊ทธ๋ฃน ์ปค๋ฐ, ๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ ๋ฒํผ, InnoDB ๋ก๊ทธ ๋ฒํผ ๋ฑ์ ๊ธฐ๋ฅ์ผ๋ก ๊ฐ์
๊ฒฐ๊ตญ ๋๋ค IO ๋ฅผ ์ค์ด๋ ๊ฒ์ด ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ์๋ฏธ
์ ์
ArrayList ์ SortedList ์ ์ฐจ์ด๋ฅผ ์๋๊ฐ?
์์ฐจ์ ์ผ๋ก ์ ์ฅ or ์ ๋ ฌํ์ฌ ์ ์ฅ
๋น ๋ฅด๊ฒ ์ ์ฌ or ๋๋ฆฌ์ง๋ง ์ ๋ ฌํ์ฌ ์ ์ฌ
์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ๋ค๋ ๊ฒ์ ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ด๋ ์ ๋ ํฌ๊ธฐํ๊ณ , ์ฝ๊ธฐ ์ฑ๋ฅ์ ํํ๊ฒ ๋ค.
B-Tree ์์ ์ธ๋ฑ์ค ํค ์ถ๊ฐ ๋ฐ ์ญ์ ์
๋ณดํต์ ๊ฒฝ์ฐ, ๋ ์ฝ๋ ์ถ๊ฐ ๋น์ฉ 1 ๊ฐ์ ์ ์ธ๋ฑ์ค ์ถ๊ฐ ๋น์ฉ์ 1.5 ๋ก ์์ธกํ๋ ํธ.
์ธ๋ฑ์ค ํค ์ญ์ ์ ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ, InnoDB ์์ง์ ๋ฒํผ ๋์ด, ์ง์ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
ํค ๊ฐ ๋ณ๊ฒฝ์ ํค ๊ฐ ์ญ์ → ์๋ก์ด ํค ์ถ๊ฐ ์์๋ก ์ด๋ฃจ์ด์ง๋ค. → ์ญ์ InnoDB ์ฒด์ธ์ง ๋ฒํผ๋ก ์ง์ฐ ์ฒ๋ฆฌ
์ธ๋ฑ์ค ํค ๊ฐ์ ํฌ๊ธฐ
์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํ๋ ํค ๊ฐ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด, ๋์คํฌ IO ํ์๊ฐ ๋์ด๋๊ณ , ๋๋ ค์ง๋ค.
→ ์ ์ฒด์ ์ธ ์ธ๋ฑ์ค์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ค
→ InnoDB ์ ๋ฒํผ ํ์ ํฌ๊ธฐ๊ฐ ์ ํ์ ์ด๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์บ์ ๊ฐ๋ฅํ ๋ ์ฝ๋ ์๊ฐ ์ค์ด๋ ๋ค.
→ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ๋จ์ด์ง.
์ฝ๊ธฐ
์ธ๋ฑ์ค๋ฅผ ํตํด ์ฝ์ ๋ ์ฝ๋์ ๊ฑด์๊ฐ ์ ์ฒด ํ ์ด๋ธ ๋ ์ฝ๋์ 20~25% ๋ฅผ ๋์ ๊ฒฝ์ฐ, ํ ์ด๋ธ์ ์ง์ ๋ชจ๋ ์ฝ๋ ๊ฒ์ด ํจ์จ์
→ ์ผ๋ฐ์ ์ธ DBMS ์ ์ตํฐ๋ง์ด์ ๋ ์ธ๋ฑ์ค๋ฅผ ํตํด 1๊ฑด์ ์ฝ๋ ๊ฒ์ด ์ง์ ๋ ์ฝ๋ 1๊ฑด์ ์ฝ๋ ๊ฒ๋ณด๋ค 4~5๋ฐฐ ๋น์ฉ์ด ๋ง์ด๋๋ ์์
๋ค์ค ์นผ๋ผ ์ธ๋ฑ์ค
๋ณตํฉ ์ธ๋ฑ์ค์์ 2๋ฒ ์งธ ์นผ๋ผ์ 1๋ฒ ์งธ ์นผ๋ผ์ ์์กดํ์ฌ ์ ๋ ฌ
๋ณตํฉ ์ธ๋ฑ์ค๋ ์ธ๋ฑ์ค ๋ด ๊ฐ ์นผ๋ผ์ ์์น(์์) ๊ฐ ๋งค์ฐ ์ค์ํ๋ค.