1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ๊ฐ๋
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค(Index)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์๋ฃ ๊ตฌ์กฐ๋ก, ํน์ ์์ฑ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๊ณ , ๊ฒ์ ๋ฐ ๊ฐฑ์ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ธ๋ฑ์ค๋ ์ผ์ข ์ ์์ธ์ผ๋ก์, ํ ์ด๋ธ ๋ด์ ํน์ ์ด(์ปฌ๋ผ)์ ๋ํ ๋น ๋ฅธ ๊ฒ์์ ์ง์ํ์ฌ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์กฐํ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
์ธ๋ฑ์ค๋ ํ ์ด๋ธ์ ์ผ๋ถ์ด๋ฉฐ, ํ ์ด๋ธ๊ณผ ํจ๊ป ๊ด๋ฆฌ๋๋ฉฐ ๋ณ๋์ ์ ์ฅ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค. ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ฐ ์ธ๋ฑ์ค๋ ํด๋น ์ปฌ๋ผ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ ํค์ ์ค์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ธ๋ฑ์ค๋ ์ฃผ๋ก SELECT๋ฌธ์์ WHERE ์ ์ ํฌํจ๋ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๊ฒ์์ ์ํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ํจ์จ์ ์ธ ์ธ๋ฑ์ค ์ค๊ณ ๋ฐ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ธ๋ฑ์ค๋ B-ํธ๋ฆฌ(B-tree)๋ ํด์(Hash) ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋๋ฉฐ, ๋ฐ์ดํฐ์ ๊ฒ์ ๋ฐ ์ ๋ ฌ์ ์์ด์ O(log n)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๋ณด์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ๊ทผ๊ณผ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ๋ชฉ์ ๊ณผ ์ด์
2.1 ๋ชฉ์
- ๋ฐ์ดํฐ ๊ฒ์์ ์๋ ํฅ์: ์ธ๋ฑ์ค๋ ํน์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ์ฌ ๋น ๋ฅธ ๊ฒ์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ธ๋ฑ์ค ์์ด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฒ์ํ๋ ๊ฒฝ์ฐ๋ณด๋ค ํจ์จ์ ์ธ ๊ฒ์์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์: ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ฒ์๊ณผ ์ ๋ ฌ์ ํตํด ์ฒ๋ฆฌ ์๊ฐ์ ๋จ์ถ์ํค๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ต ์๊ฐ์ ์ค์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํต๋๋ค.
- ์ค๋ณต ๋ฐ์ดํฐ ์ ๊ฑฐ: ์ธ๋ฑ์ค๋ ๊ณ ์ ํ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
2.2 ์ด์
- ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ฒ์: ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ๊ฐ ๋๋ ๋ฒ์์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋ธ๋ก ๋๋ ํ์ด์ง๋ฅผ ๋ฐ๋ก ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋์คํฌ I/O๋ฅผ ์ค์ฌ ์๊ฐ์ ๋จ์ถ์ํต๋๋ค.
- ๋ฐ์ดํฐ ์ ๋ ฌ: ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ ์ํ๋ก ์ ์งํ๋ฏ๋ก, ORDER BY ์ ์ ์ฌ์ฉํ ์ ๋ ฌ ์์ ์ด ๋ ๋น ๋ฆ ๋๋ค. ํนํ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ผ ํ ๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์: ์ธ๋ฑ์ค๋ ์ ์ ํ๊ฒ ์ค๊ณ์ ์ฌ์ฉํ๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ต ์๊ฐ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ฒ์๊ณผ ์ ๋ ฌ์ ํตํด ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ๊ทผ๊ณผ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ๊ณ ์ ์ฑ ์ ์ฝ ์กฐ๊ฑด ๊ฒ์ฌ: ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ฉด ํด๋น ์ปฌ๋ผ์ ๊ณ ์ ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ์ค์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐฉ์งํ๊ณ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
- ์ฟผ๋ฆฌ ์ต์ ํ: ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฟผ๋ฆฌ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์ต์ ํํ ์ ์์ต๋๋ค. ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ๋ณด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ํํฐ๋งํ๊ณ ์กฐ์ธํ ์ ์์ต๋๋ค.
๋ค๋ง, ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ๊ณต๊ฐ์ ์ฐจ์งํ๊ณ , ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์์ , ์ญ์ ์ ๊ฐ์ ๊ฐฑ์ ์ฐ์ฐ ์์ ์ธ๋ฑ์ค๋ ํจ๊ป ์ ๋ฐ์ดํธ๋์ด์ผ ํ๋ฏ๋ก, ๋ฐ์ดํฐ ๊ฐฑ์ ์๋๊ฐ ๋๋ ค์ง ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ์ค๊ณ ๋ฐ ์ฌ์ฉํ ๋๋ ์ ์ ํ ๊ท ํ์ ์ฐพ์์ผ ํฉ๋๋ค.
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ข ๋ฅ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋ ์ฌ๋ฌ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ผ๋ฉฐ, ๋ค์ํ ์ํฉ๊ณผ ์๊ตฌ์ ๋ง๊ฒ ์ ํํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฃผ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
3.1 B-ํธ๋ฆฌ ์ธ๋ฑ์ค
- B-ํธ๋ฆฌ ์ธ๋ฑ์ค๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ์ข ๋ฅ์ ๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๋ ๋ฒจ์ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ๋ B-ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ์ ์ ์ฅํฉ๋๋ค.
- B-ํธ๋ฆฌ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ์ฝ์ , ์์ , ์ญ์ ์ ๊ฐ์ ๊ฐฑ์ ์ฐ์ฐ์๋ ํจ์จ์ ์ผ๋ก ๋์ํฉ๋๋ค.
- B-ํธ๋ฆฌ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ๋ฒ์ฉ ์ธ๋ฑ์ค๋ก์ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋น ๋ฅธ ๊ฒ์์ ์ง์ํฉ๋๋ค.
- ์์: MySQL์ InnoDB ์คํ ๋ฆฌ์ง ์์ง์์ ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ํ์ ์ ๋๋ค.
3.2 ํด์ ์ธ๋ฑ์ค
- ํด์ ์ธ๋ฑ์ค๋ ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
- ํด์ ์ธ๋ฑ์ค๋ ์ ํํ ๊ฐ์ด ์๋๋ผ ํด์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฏ๋ก, ์์ ํ ์ผ์นํ๋ ๊ฒ์์๋ ์ ์ฉํ์ง๋ง ๋ฒ์ ๊ฒ์์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ํด์ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ์ฝ์ , ์์ , ์ญ์ ์ ๊ฐ์ ๊ฐฑ์ ์ฐ์ฐ์๋ ํจ์จ์ ์ด์ง๋ง, ๋ฐ์ดํฐ์ ๋ถํฌ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
- ์์: MySQL์ MEMORY ์คํ ๋ฆฌ์ง ์์ง์์ ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ํ์ ์ ๋๋ค.
3.3 ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค
- ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ ํ ์ด๋ธ ์์ฒด๋ฅผ ์ธ๋ฑ์คํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
- ํ ์ด๋ธ์ ํ๋ผ์ด๋จธ๋ฆฌ ํค(Primary Key) ๋๋ ๊ณ ์ ํ ์ปฌ๋ผ์ ๋ํด ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์์๋ฅผ ์ธ๋ฑ์ค๋ก ์ ์งํ๊ธฐ ๋๋ฌธ์ ๊ฒ์๊ณผ ์ ๋ ฌ์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์์ต๋๋ค.
- ํ ํ ์ด๋ธ์ ํ๋์ ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ง ์์ฑํ ์ ์์ผ๋ฉฐ, ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค์ ๋ณ๊ฒฝ์ ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์ฌ์ ๋ ฌ์ ํ์๋ก ํฉ๋๋ค.
- ์์: MySQL์ InnoDB ์คํ ๋ฆฌ์ง ์์ง์์๋ ํ๋ผ์ด๋จธ๋ฆฌ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํฉ๋๋ค.
3.4 ๋นํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค
- ๋นํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ณ๋๋ก ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
- ํ ์ด๋ธ์ ๋ณด์กฐ ์ธ๋ฑ์ค(Secondary Index)๋ก๋ ์๋ ค์ ธ ์์ต๋๋ค.
- ๋นํด๋ฌ์ค๋ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ์์์๋ ๊ด๊ณ ์์ด ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํ๋ฉฐ, ๊ฐฑ์ ์ฐ์ฐ์๋ ํจ์จ์ ์ผ๋ก ๋์ํฉ๋๋ค.
- ์์: MySQL์ InnoDB ์คํ ๋ฆฌ์ง ์์ง์์๋ ๋นํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ฅผ ๋ณ๋๋ก ๊ด๋ฆฌํ๋ฉฐ, ํ๋ผ์ด๋จธ๋ฆฌ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํฉ๋๋ค.
๊ฐ๊ฐ์ ์ธ๋ฑ์ค ์ข ๋ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๋ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ๋๋ ๋ฐ์ดํฐ์ ํน์ฑ๊ณผ ์ฌ์ฉ ํจํด์ ๊ณ ๋ คํ์ฌ ์ ์ ํ ์ธ๋ฑ์ค ์ข ๋ฅ๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
4. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ค๊ณ ๋ฐ ๊ตฌํ ๋ฐฉ๋ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋ฅผ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๊ณผ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ค๊ณ ๋ฐ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ์ค๋ช ์ ๋๋ค:
4.1 ์ธ๋ฑ์ค ์ค๊ณ ์์น
- ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ปฌ๋ผ์ ๋ฐ์ดํฐ ์ ํ์ฑ์ด ๋์ ์ปฌ๋ผ์ ์ ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฆ, ๊ฒ์์ ๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๊ณ , ๊ณ ์ ํ ๊ฐ์ด๋ฉฐ, ๋ฐ์ดํฐ ๋ถํฌ๊ฐ ๋์ ์ปฌ๋ผ์ผ์๋ก ์ธ๋ฑ์ค์ ํจ๊ณผ๊ฐ ํฝ๋๋ค.
- ์ธ๋ฑ์ค์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ์ธ๋ฑ์ค์๋ ์ต์ํ์ ํ๋๋ง ํฌํจํ๋๋ก ์ค๊ณํด์ผ ํฉ๋๋ค. ํ์ํ ์ ๋ณด๋ฅผ ๋ชจ๋ ํฌํจํ์ง๋ง, ํ์ํ์ง ์์ ํ๋๋ ์ฌ์ฉํ์ง ์๋๋ก ํฉ๋๋ค.
- ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐฑ์ ์ฐ์ฐ์๋ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก, ๊ฐฑ์ ์ด ์์ฃผ ์ผ์ด๋๋ ์ปฌ๋ผ์ ๋ํด์๋ ์ ์คํ๊ฒ ์ ํํด์ผ ํฉ๋๋ค.
- ์ธ๋ฑ์ค์ ์์๋ ์ค์ํฉ๋๋ค. ์ธ๋ฑ์ค์ ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ ๊ฒ์์ ์ฑ๋ฅ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก, ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
4.2 ์ธ๋ฑ์ค ๊ตฌํ ๋ฐฉ๋ฒ
CREATE INDEX ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์์ฑํฉ๋๋ค. ์ธ๋ฑ์ค ์์ฑ์ ํ์ํ ์ปฌ๋ผ๊ณผ ํ์ , ํฌ๊ธฐ ๋ฑ์ ๋ช ์ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, MySQL์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค:
CREATE INDEX index_name ON table_name (column1, column2);
ALTER TABLE ๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๊ธฐ์กด์ ํ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค๋ฅผ ๋์์ ์์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, MySQL์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค:
ALTER TABLE table_name ADD INDEX index_name (column1, column2);
DROP INDEX ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ, ์ ๊ฑฐํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, MySQL์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค:
DROP INDEX index_name ON table_name;
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์ญ์ ํ ์๋ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋๊ตฌ๋ GUI๋ฅผ ์ ๊ณตํ์ฌ ์ฝ๊ฒ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ธ๋ฑ์ค๋ฅผ ์ค๊ณํ ๋๋ ๋ฐ์ดํฐ์ ํน์ฑ๊ณผ ์ฌ์ฉ ํจํด์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ธ๋ฑ์ค์ ํจ๊ณผ๋ฅผ ์ต๋ํํ๊ธฐ ์ํด ์ ์ ํ ์ปฌ๋ผ์ ์ ํํ๊ณ , ์ธ๋ฑ์ค์ ํฌ๊ธฐ์ ์์๋ฅผ ์ต์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ํ, ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์ญ์ ํ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐฑ์ ์ฐ์ฐ์๋ ์ํฅ์ ์ฃผ๋ฏ๋ก, ์ ์คํ๊ฒ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ๊ณ ๋ คํด์ผ ํ ์ฌํญ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ๋์๋ ๋ช ๊ฐ์ง ๊ณ ๋ ค ์ฌํญ์ ์ ๋ ํด์ผ ํฉ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ฉด ๊ฒ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ง๋ง, ์๋ชป ์ฌ์ฉํ๋ฉด ์คํ๋ ค ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ๊ณ ๋ คํด์ผ ํ ์ฌํญ์ ๋ํ ์์ธํ ์ค๋ช ์ ๋๋ค:
5.1 ์ ์ ํ ์ธ๋ฑ์ค ์ ์
- ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ์ปฌ๋ผ์ ์ฃผ๋ก ๊ฒ์์ ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฐ์ดํฐ์ ์ ํ์ฑ์ด ๋์(unique) ์ปฌ๋ผ ๋๋ ์์ฃผ ๊ฒ์๋๋ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ ๋๋ค.
- ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ๋, ํ์ํ ์ ๋ณด๋ง ํฌํจํ์ฌ ์ธ๋ฑ์ค์ ํฌ๊ธฐ๋ฅผ ์ต์ํํด์ผ ํฉ๋๋ค. ํ์ํ์ง ์์ ์ ๋ณด๋ฅผ ํฌํจ์ํค๋ฉด ์ธ๋ฑ์ค์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๊ณ , ๊ฒ์ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์ต๋๋ค.
- ์ธ๋ฑ์ค์ ์์๋ ์ค์ํ ์์์ ๋๋ค. ์ธ๋ฑ์ค์ ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ ๊ฒ์ ์ฑ๋ฅ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์, ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
5.2 ์ฌ๋ฐ๋ฅธ ์ธ๋ฑ์ค ์ฌ์ฉ
- ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ง๋ง, ๋ชจ๋ ๊ฒ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํญ์ ์ข์ง ์์ต๋๋ค. ์ผ๋ถ ์์ ์์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ๋ ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
- ๋ฒ์ ๊ฒ์์ด๋ ์ ๋ ฌ๊ณผ ๊ฐ์ ์์ ์์๋ ์ธ๋ฑ์ค์ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ๊ณ ๋ คํด๋ณด๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ค๊ณํ ์๋ ์์ต๋๋ค.
- ๊ฐฑ์ ์์ ์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ ์ปฌ๋ผ์๋ ์ธ๋ฑ์ค์ ์ฌ์ฉ์ ์ ์คํ๊ฒ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐฑ์ ์ฐ์ฐ์๋ ์ํฅ์ ์ฃผ๋ฏ๋ก, ๊ฐฑ์ ์์ ์ ๋ถํ๊ฐ ํฐ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
5.3 ์ธ๋ฑ์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ์ธ๋ฑ์ค๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋์ด์ผ ์ต๋์ ํจ๊ณผ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ง ์์ผ๋ฉด ๋์คํฌ I/O๊ฐ ๋ฐ์ํ์ฌ ๊ฒ์ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์, ์ธ๋ฑ์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ์ธ๋ฑ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ชจ๋ ๋ก๋ฉ๋์ง ์๋ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํ I/O ์์ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์ ์ ํ ์กฐ์ ํ๊ณ , ์ธ๋ฑ์ค์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ์๋ ๋ถ๋ถ์ ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ๋ก๋ฉํ๊ฑฐ๋ ์ค์ ์์ญ์ ํ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์์ต๋๋ค.
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ๋์๋ ๋ฐ์ดํฐ์ ํน์ฑ๊ณผ ์ฌ์ฉ ํจํด์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ ์ ํ ์ธ๋ฑ์ค๋ฅผ ์ ํํ๊ณ , ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒ์ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค. ๋ํ, ์ธ๋ฑ์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ์ค์ํ ์์์ด๋ฏ๋ก, ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์ ์ ํ ์กฐ์ ํ๊ณ ์ธ๋ฑ์ค์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๊ธ