Index
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋ RDBMS์์ ๋์ฉ๋ ๋ฐ์ดํฐ๊ฐ ์์ ๋, ํน์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด์ ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ full scanํ๋ ๊ฒ์ด ์๋๋ผ, ์ธ๋ฑ์ค๊ฐ ์ ์ฉ๋ ์ปฌ๋ผ์ ํ ์ด๋ธ(์ปฌ๋ผ, ์ธ๋ฑ์ค)๋ฅผ ๋ฐ๋ก ์ ์ฅํด๋๊ณ ๊ทธ๊ฒ์ ๊ฒ์ํด์ ๊ฒ์ ํจ์จ์ ๋์ด๋ ๋ฐฉ๋ฒ์ด๋ค.
Full Table Scan
Row ๊ฐ์ ์์ฐจ์ ์ผ๋ก scanํ์ฌ ๊ฐ์ ๋น๊ตํ๋ค.
๊ฐ์ฅ ๋๋ฆฐ scanning ๋ฐฉ๋ฒ์ด๋ฉฐ, ์์์ ๋ง์ด ์ฌ์ฉํ๋ค. ์ฆ, ์๋๋ ๋๋ฆฌ๊ณ ์์์ ๋ง์ด ์ฌ์ฉํ๋ ์ข์ง์์ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด DB์์ Index ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
Database Index
์ฝ๊ธฐ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํ ์ผ์ข ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. Index๋ ๊ด๋ จ๋ Table๊ณผ ๋ณ๋๋ก ์ ์ฅ๋๋ฉฐ, Index๋ก ์ค์ ํ ์ปฌ๋ผ๊ฐ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ถ๊ฐ๋๋ฉด, Index๋ ์ ๋ฐ์ดํธ๊ฐ ๋์์ ๋๋ค.
RDBMS์์ ์ฌ์ฉํ๋ Index๋ Balance Search Tree๋ฅผ ์ฌ์ฉํ๋ค. (B-Tree ํน์ B+ Tree๋ฅผ ์ฌ์ฉ)
ํน์ง
ํค ๊ฐ์ ๊ธฐ์ด๋ก ํด ํ ์ด๋ธ์์ ๊ฒ์๊ณผ ์ ๋ ฌ ์๋๋ฅผ ํฅ์์ํจ๋ค.
์ง์๋ ๋ณด๊ณ ์์์ ๊ทธ๋ฃนํ ์์ ์ ์๋๋ฅผ ํฅ์์ํจ๋ค.
ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค(PK)๋ ์๋์ผ๋ก ์ธ๋ฑ์ค๋๋ค.
ํ๋ ์ค์์ ๋ฐ์ดํฐ ํ์ ๋๋ฌธ์ ์ธ๋ฑ์ค ๋ ์ ์๋ ํ๋๋ ์๋ค.
๋ค์ค ํ๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฒซ ํ๋ ๊ฐ์ด ๊ฐ์ ๋ ์ฝ๋๋ ๊ตฌ๋ถํ ์ ์๋ค.
์ฃผ์ํ ์
์ธ๋ฑ์ค ๋ ํ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋, ๋ ์ฝ๋๋ฅผ ์ถ๊ฐ, ์ญ์ ํ ๋ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค.
์ธ๋ฑ์ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณต๊ฐ์ ์ฐจ์งํด ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ด ํ์ํด์ง๋ค.
์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋๋ฐ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์๋ค.
๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์์ฃผ ์ผ์ด๋ ๊ฒฝ์ฐ ์ธ๋ฑ์ค๋ฅผ ์ฌ์์ฑํด์ผ ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ผ์น ์ ์๋ค.
๋ชฉ์
SELECT ์ฟผ๋ฆฌ์ WHERE์ ์ด๋ JOIN ์์ฝ์ด๋ฅผ ์ฌ์ฉํ์๋๋ง ์ธ๋ฑ์ค๊ฐ ์ฌ์ฉ๋๋ฉฐ SELECT ์ฟผ๋ฆฌ์ ๊ฒ์ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๋๋ฐ ๋ชฉ์ ์ด ์๋ค.
์ธ์ ์์ฑํด์ผํ ๊น?
WHERE์ ์์ ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ก ๋ง๋ ๋ค.
๋ฐ์ดํฐ์ ์ค๋ณต๋๊ฐ ๋์ ์ด์ ์ธ๋ฑ์ค๋ก ๋ง๋ค์ด๋ ํจ์ฉ์ด ์๋ค.(๋์ผ ๊ฐ์ด ์ ์ ์ปฌ๋ผ 1~15%์ดํ, 5%์ดํ)
์ธ๋ํค๊ฐ ์ฌ์ฉ๋๋ ์ด์๋ ์ธ๋ฑ์ค๋ฅผ ๋๋๋ก ์์ฑํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
JOIN์ ์์ฃผ ์ฌ์ฉ๋๋ ์ด์๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
INSERT/UPDATE/DELETE๊ฐ ์ผ๋ง๋ ์์ฃผ ์ผ์ด๋๋์ง ๊ณ ๋ คํด์ผํ๋ค.
์ข
๋ฅ
Unique Index : PK๋ Unique ์ ์ฝ์กฐ๊ฑด์ ์ ์ํ ๊ฒฝ์ฐ์๋ Unique Index๊ฐ ์๋์ผ๋ก ์์ฑ๋๋ค.
Non UNIQUE INDEX : ์ค๋ณต๋๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ์ผํ๋ ๊ฒฝ์ฐ
Function Based INDEX ( FBI - ํจ์๊ธฐ๋ฐ ์ธ๋ฑ์ค )
DESCENDING INDEX : ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ค. ํฐ ๊ฐ์ ๋ง์ด ์กฐํํ๋ SQL์ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค.
๊ณ์ข ๋ด์ญ ์ต๊ทผ ๋ ์ง๋ถํฐ ์กฐํ, ํ์ฌ ๋งค์ถ
๊ฒฐํฉ์ธ๋ฑ์ค(Composite Index) : ์ธ๋ฑ์ค ์์ฑ์ ๋ ๊ฐ ์ด์์ ์ปฌ๋ผ์ ํฉ์ณ์ ์ธ๋ฑ์ค ์์ฑ
์ฃผ๋ก where ์กฐ๊ฑด ์ปฌ๋ผ์ด 2๊ฐ ์ด์์ด and๋ก ์ฐ๊ฒฐ๋์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ์ ๋ง์ด ์ฌ์ฉํ๋ค. ( ์๋ชป ์์ฑํ๊ฒ ๋๋ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ๋์ ์ํฅ์ ๋ฏธ์น๋ค. )
์ฐธ๊ณ
Last updated