๐ Index?
์ธ๋ฑ์ค(Index)๋ผ๋ ๋ง์ ์ฒ์ ๋ค์์ ๋ ๊ทธ๋ฅ ๋ฐฐ์ด์์ ์ฐ๋ ๊ทธ ์ธ๋ฑ์ค์ธ ์ค ์์๋ค.
0๋ถํฐ ์์ํ๋ ๊ทธ๊ฑฐ..๊ทธ๋ฅ ์์ ์๋๊ฐ๋ผ๊ณ ์๊ฐํ๋ค.
๊ทผ๋ฐ DB์์ ๋งํ๋ ์ธ๋ฑ์ค๋ ์ด๊ฑฐ์๋ ์์ ํ ๋ค๋ฅธ ๊ฐ๋
์ด๋ค.
์์๋ผ๊ธฐ ๋ณด๋ค๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํ ์ฅ์น์ ๊ฐ๊น๋ค.
์๋ฅผ๋ค์ด ํ์ 1๋ง ๋ช
์ด ์๋ ๋ฆฌ์คํธ์์ โ์์น์ โ ํ ๋ช
์ ์ฐพ๋๋ค๊ณ ํ์.
์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ์ฒ์๋ถํฐ ๋๊น์ง ํ๋์ฉ ๋ค ํ์ธํด์ผ ํ์ง๋ง, ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ๋ฐ๋ก ์์น๋ฅผ ์ฐพ์๊ฐ ์ ์๋ค. ์ด ์ฐจ์ด๊ฐ ์์ด๋ฉด ์๋ ์ฐจ์ด๊ฐ ๋ง๋ ์ ๋๊ฒ ๋ฒ์ด์ง๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ธ๋ฑ์ค๋ ๋จ์ํ ์์ผ๋ฉด ์ข์ ๊ธฐ๋ฅ์ด ์๋๋ผ ์ฑ๋ฅ์ ์ข์ฐํ๋ ํต์ฌ ์์๋ค.
Index
๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํ ๋ณ๋์ ์๋ฃ๊ตฌ์กฐ
์ฌ๊ธฐ์ ์ค์ํ ๊ฑด
์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊พธ๋ ๊ฒ ์๋๋ผ, ๋ฐ๋ก ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌํ๋ค๋ ์ ์ด๋ค.
์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด DB๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฐพ์๊น?
์๋ฅผ ๋ค์ด users ํ
์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ 1๋ง ๊ฐ ์๋ค๊ณ ํด๋ณด์.
์ฌ๊ธฐ์ name์ด โ์์น์ โ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ผ๋ ค๋ฉด
DB๋ 1๋ฒ๋ถํฐ 10000๋ฒ๊น์ง ํ๋์ฉ ๋ค ํ์ธํด์ผ ํ๋ค.
์ด๊ฑธ Full Scan์ด๋ผ๊ณ ํ๋ค. ๋ฐ์ดํฐ๊ฐ ๋ง์์ง์๋ก ์ด ๋ฐฉ์์ ์ ์ ๋๋ ค์ง๋ค.
๊ทธ๋ผ ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
name์ ์ธ๋ฑ์ค๋ฅผ ๊ฑธ๋ฉด DB๋ name ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ โ๋ชฉ์ฐจโ๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด๋๋ค.
์ด๊ฑธ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋น์ ํด๋ณด๋ฉด ๋์๊ด์ ์๊ฐํด๋ณด๋ฉด ๋๋ค.
์ฑ
์ด 1๋ง ๊ถ ์๋๋ฐ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด? ์ฒ์๋ถํฐ ํ ๊ถ์ฉ ๋ค ๋ค์ ธ์ผ ํ๋ค.
๊ทผ๋ฐ ๋์๊ด์๋ ๋ณดํต โ์ฑ
์ ๋ชฉ๋ณ๋ก ์ ๋ฆฌ๋ ์์ธํโ๊ฐ ์๋ค.
๊ทธ๋์ โํด๋ฆฌํฌํฐโ๋ฅผ ์ฐพ๊ณ ์ถ์ผ๋ฉด
์์ธํ์์ ์์น ํ์ธ โ ๋ฐ๋ก ํด๋น ์ฑ
์ฅ์ผ๋ก ์ด๋ํ๋ค.
์ด๊ฒ ๋ฐ๋ก ์ธ๋ฑ์ค๋ค.
๋ฐ์ดํฐ๋ฅผ ์ง์ ์ฐพ๋ ๊ฒ ์๋๋ผ ๋ฐ์ดํฐ๊ฐ ์ด๋ ์๋์ง๋ฅผ ๋จผ์ ์ฐพ๋ ๊ตฌ์กฐ๋ค.
๊ทธ๋์ ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฉด Full Scan์ ํ์ง ์๊ณ ๋ฐ๋ก ํด๋น ์์น๋ก ์ ๊ทผํ ์ ์์ด์ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋ค.
๊ทธ๋ผ ์ค์ ๋ก๋ ์ด๋ป๊ฒ ๋ง๋๋ ๊ฑธ๊น?
CREATE INDEX idx_user_name ON users(name); // name ์ปฌ๋ผ ๊ธฐ์ค ์ธ๋ฑ์ค ์์ฑ
DROP INDEX idx_user_name; // ์ธ๋ฑ์ค ์ญ์
์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค ์ ์๋ค.
์ด๋ ๊ฒ๋ง ๋ณด๋ฉด ๊ทธ๋ฅ ๋ฌด์กฐ๊ฑด ์ธ๋ฑ์ค๋ฅผ ์ฐ๋๊ฒ ์ข์๋ณด์ธ๋ค.
ํ์ง๋ง ์ธ๋ฑ์ค๋ ๋ง๋ฒ์ด ์๋๋ค.
๋ฌด์กฐ๊ฑด ๋น ๋ฅด๊ฒ ๋ง๋ค์ด์ฃผ๋ ๊ฒ ์๋๋ผ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฑ๋ฅ์ ๋ฐ๊พธ๋ ๋๊ตฌ๋ค.
์๋ํ๋ฉด ์ธ๋ฑ์ค๋ ์กฐํ๋ฅผ ๋น ๋ฅด๊ฒ ํด์ฃผ๋ ๋์
์ฐ๊ธฐ ์์
์๋ ๋ถ๋ด์ ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์์ ํ ๋
INSERT โ ์ธ๋ฑ์ค์๋ ์ถ๊ฐ
DELETE โ ์ธ๋ฑ์ค์์๋ ์ ๊ฑฐ
UPDATE โ ๊ธฐ์กด ์ธ๋ฑ์ค ์ ๊ฑฐ + ๋ค์ ์ถ๊ฐ
์ด ๊ณผ์ ์ด ๊ณ์ ๋ฐ์ํ๋ค.
์กฐํ๋ ๋นจ๋ผ์ง์ง๋ง ์ฐ๊ธฐ ์ฑ๋ฅ์ ์คํ๋ ค ๋๋ ค์ง ์ ์๋๊ฑฐ๋ค..
๊ทธ๋ฆฌ๊ณ ์ธ๋ฑ์ค ์์ฒด๋ ๋ฐ๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ์ ์ฅ ๊ณต๊ฐ ๋ํ ํ์ํ๋ค.
๊ทธ๋์ ์ธ๋ฑ์ค๋ ๋ง์ด ์ฐ๋ ๊ฒ ์๋๋ผ ์ ์จ์ผ ํ๋ ๊ฒ์ด๋ค.
Index ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
๊ทธ๋ผ ์ธ๋ฑ์ค๋ ์ธ์ ์ฌ์ฉํ๋ ๊ฒ ์ข์๊น?
1๏ธโฃ ๋ฐ์ดํฐ์ ์์ด ๋ง์ ๊ฒฝ์ฐ
๋ฐ์ดํฐ๊ฐ ๋ช ๊ฐ ์์ ๋๋ Full Scan์ผ๋ก๋ ์ถฉ๋ถํ ๋น ๋ฅด๋ค.
ํ์ง๋ง ๋ฐ์ดํฐ๊ฐ ์์ฒ, ์๋ง, ์๋ฐฑ๋ง ๋จ์๋ก ๋์ด๋๋ฉด ์ ์ฒด๋ฅผ ํ์ํ๋ ๋น์ฉ์ด ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ค.
์ด๋ด ๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด
๊ฒ์ ๋ฒ์๋ฅผ ์ค์ผ ์ ์๊ธฐ ๋๋ฌธ์
์ฑ๋ฅ์ด ํฌ๊ฒ ๊ฐ์ ๋๋ค.
2๏ธโฃ ํน์ ์ปฌ๋ผ์ผ๋ก ์์ฃผ ์กฐํํ๋ ๊ฒฝ์ฐ
WHERE ์กฐ๊ฑด์ ์์ฃผ ๋ฑ์ฅํ๋ ์ปฌ๋ผ์ด๋ผ๋ฉด ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค.
์๋ฅผ ๋ค์ด id, email, name ๊ฐ์ด ํน์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์กฐํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ฉด
ํด๋น ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ๊ฑฐ๋ ๊ฒ์ด ์ข๋ค.
3๏ธโฃ ์ ๋ ฌ์ด ์์ฃผ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
ORDER BY๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ ์ปฌ๋ผ์ด๋ผ๋ฉด ์ธ๋ฑ์ค๋ฅผ ํตํด ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ค.
4๏ธโฃ JOIN ์ฐ์ฐ์ด ๋ง์ ๊ฒฝ์ฐ
ํ
์ด๋ธ์ ์ฐ๊ฒฐํ ๋ ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํด์ผ ํ๋ค.
ํ์ง๋ง ์ธ๋ฑ์ค๊ฐ ์๋ค๋ฉด ์ฐ๊ฒฐํ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ด์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ํฌ๊ฒ ๋๋ค.
5๏ธโฃ ์ค๋ณต์ ๋ง๊ณ ์ถ์ ๊ฒฝ์ฐ
UNIQUE ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ฅํ์ง ๋ชปํ๊ฒ ๋ง๋ค ์ ์๋ค.
์ฑ๋ฅ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๋ ํจ๊ป ๋ณด์ฅํ ์ ์๋๊ฑฐ๋ค.
์ธ๋ฑ์ค๋ ๋จ์ํ ๋น ๋ฅด๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๋ผ ํ์ํ ๊ณณ์๋ง ์ ํํ๊ฒ ์ฌ์ฉํ๋ ์ต์ ํ ๋๊ตฌ๋ค.
Index ์ข ๋ฅ
์ธ๋ฑ์ค์๋ ํฌ๊ฒ ๋ ๊ฐ์ง ํํ๊ฐ ์๋ค.
1๏ธโฃ ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค (Clustered Index)
๋ฐ์ดํฐ ์์ฒด๊ฐ ์ ๋ ฌ๋ ์ํ๋ก ์ ์ฅ๋๋ ์ธ๋ฑ์ค
์ฝ๊ฒ ๋งํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ค ๊ธฐ์ค์ผ๋ก ๊ทธ๋๋ก ์ ๋ ฌํด์ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
๊ทธ๋์ ํ
์ด๋ธ๋น ํ๋๋ง ์กด์ฌํ ์ ์๋ค.
์๋ํ๋ฉด ๋ฐ์ดํฐ๋ ํ ๋ฒ์ ํ ๊ฐ์ง ๊ธฐ์ค์ผ๋ก๋ง ์ ๋ ฌ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๊ฑธ ๋น์ ํ๋ฉด ์์ด์ฌ์ ์ด๋ ๋น์ทํ๋ค.
์์ด์ฌ์ ์ ๋จ์ด ์์ฒด๊ฐ ์ํ๋ฒณ ์์๋ก ์ ๋ ฌ๋์ด ์์ด์
๋ฐ๋ก ์ฐพ๋ ๊ณผ์ ์์ด ๋ฐ๋ก ์์น๋ฅผ ์ฐพ์๊ฐ ์ ์๋ค.
์ฆ, ๋ฐ์ดํฐ ์์ฒด๊ฐ ์ด๋ฏธ ์ธ๋ฑ์ค ์ญํ ์ ํ๊ณ ์๋ ๊ตฌ์กฐ๋ค.
2๏ธโฃ ๋ณด์กฐ ์ธ๋ฑ์ค (Secondary Index)
์ค์ ๋ฐ์ดํฐ์๋ ๋ณ๋๋ก ๋ง๋ค์ด์ง๋ ์ธ๋ฑ์ค
์ด๊ฑด ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๊ฑด๋๋ฆฌ๋ ๊ฒ ์๋๋ผ ์์น๋ง ๋ฐ๋ก ์ ๋ฆฌํด๋ ๊ตฌ์กฐ๋ค.
๊ทธ๋์ ํ๋์ ํ
์ด๋ธ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ง๋ค ์ ์๋ค.
์ด๊ฑด ์ฑ
๋ค์ ์๋ ๋ชฉ์ฐจ๋ ๋น์ทํ๋ค.
์ฑ
๋ด์ฉ์ ๊ทธ๋๋ก ์๋๋ฐ ๋ชฉ์ฐจ๋ฅผ ํตํด ํน์ ๋ด์ฉ์ ๋น ๋ฅด๊ฒ ์ฐพ๋ ๊ฒ์ฒ๋ผ
๋ณด์กฐ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ ์์น๋ฅผ ๋จผ์ ์ฐพ๊ณ โ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ๋ค.
Index ๋์์๋ฆฌ
๊ทธ๋ผ ์ธ๋ฑ์ค๋ ๋ด๋ถ์ ์ผ๋ก ์ด๋ป๊ฒ ๋์ํ ๊น?
๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํํ ๋ B-Tree๋ผ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ด๋ฆ๋ง ๋ณด๋ฉด ๋ญ๊ฐ ์ด๋ ค์ ๋ณด์ด๋๋ฐ ์๊ฐ๋ณด๋ค ๊ฐ๋
์ ๋จ์ํ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ์ํ๋ก ์ ์ฅํด๋๊ณ ํ์ํ ๋ฒ์๋ง ๋น ๋ฅด๊ฒ ์ฐพ์๊ฐ๋ ๊ตฌ์กฐ๋ค.
๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด
๋ฃจํธ ๋
ธ๋ โ ์ค๊ฐ ๋
ธ๋ โ ๋ฆฌํ ๋
ธ๋
์ด๋ ๊ฒ ๊ณ์ธต์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๊ฒ์ํ ๋๋ ๋ฃจํธ๋ถํฐ ์์ํด์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐฉํฅ์ผ๋ก ๊ณ์ ๋ด๋ ค๊ฐ๋ค.
์ฆ ๋ฐ์ดํฐ๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ๋ณด๋ ๊ฒ ์๋๋ผ
โ์ด ๋ฒ์๋ ์๋๋ค โ ๋ค์ ๋ฒ์โ
์ด๋ ๊ฒ ํ์ ๋ฒ์๋ฅผ ๊ณ์ ์ค์ฌ๊ฐ๋ ๋ฐฉ์์ด๋ค.
๊ทธ๋์ ๋ฐ์ดํฐ๊ฐ ๋ง์์ ธ๋ ๊ฒ์ ์๋๊ฐ ํฌ๊ฒ ๋๋ ค์ง์ง ์๋๋ค.
์ด๊ฒ ๋ฐ๋ก ์ธ๋ฑ์ค๊ฐ ๋น ๋ฅธ ์ด์ ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ์ค์ํ ํน์ง ํ๋ B-Tree๋ โ๊ท ํ ํธ๋ฆฌโ๋ค.
๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๋๋ผ๋
์๋์ผ๋ก ๋
ธ๋๋ฅผ ๋๋๊ณ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํ๋ฉด์ ํญ์ ๋น์ทํ ๊น์ด๋ฅผ ์ ์งํ๋ค.
๊ทธ๋์ ํ์ชฝ์ผ๋ก ์ ๋ฆฌ๋ ์ผ์ด ์๊ณ ํญ์ ์ผ์ ํ ํ์ ์ฑ๋ฅ์ ์ ์งํ ์ ์๋ค.
๊ทผ๋ฐ ์ค์ DB์์๋ B-Tree๋ณด๋ค B+Tree ๊ตฌ์กฐ๋ฅผ ๋ ๋ง์ด ์ฌ์ฉํ๋ค.
์ฐจ์ด๋ ํฌ๊ฒ ์ด๋ ต์ง ์๋ค.
B-Tree๋ ์ค๊ฐ ๋
ธ๋์๋ ๋ฐ์ดํฐ๊ฐ ์์ง๋ง, B+Tree๋ ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ฆฌํ ๋
ธ๋์๋ง ์กด์ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌํ ๋
ธ๋๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์ด ์๋ค.
์ด๊ฒ ์ ์ค์ํ๋๋ฉด
๋ฒ์ ๊ฒ์ (์: ๊ฐ๊ฒฉ 10,000 ์ด์)
์ ๋ ฌ (ORDER BY)
์ด๋ฐ ์์
์ ํ ๋ ์์ฒญ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ๋๋ถ๋ถ์ DB๋ B+Tree ๊ธฐ๋ฐ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ค.
๊ทธ๋ผ B-Tree ๋ง๊ณ ๋ค๋ฅธ ์ธ๋ฑ์ค๋ ์์๊น?
์ฌ๊ธฐ๊น์ง ๋ณด๋ฉด ์ธ๋ฑ์ค๊ฐ ํ๋์ฒ๋ผ ๋ณด์ด๋๋ฐ, ์ฌ์ค ์ข
๋ฅ๊ฐ ๊ฝค ๋ง๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ B-Tree ์ธ๋ฑ์ค๋ค.
์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ์ธ๋ฑ์ค ๋๋ถ๋ถ์ด ์ด ๊ตฌ์กฐ๋ค.
WHERE ์กฐ๊ฑด์ด๋ ๋ฒ์ ๊ฒ์ ๊ฐ์
์ผ๋ฐ์ ์ธ ์ํฉ์์๋ ๊ฑฐ์ ์ด๊ฑธ๋ก ํด๊ฒฐ๋๋ค.
Unique Index๋ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์ธ๋ฑ์ค๋ค.
Primary Key๋ ์ด๋ฉ์ผ์ฒ๋ผ ๊ฐ์ด ์ ์ผํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ค.
๋จ์ํ ๋น ๋ฅด๊ฒ ์ฐพ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ, ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์ ํํ๋ ์ญํ ๋ ํ๋ค.
Composite Index๋ ์ฌ๋ฌ ์ปฌ๋ผ์ ๋ฌถ์ด์ ๋ง๋ ์ธ๋ฑ์ค๋ค.
์๋ฅผ ๋ค์ด ์ด๋ฆ + ๋์ด ์ด๋ ๊ฒ ๋ ๊ฐ๋ฅผ ํจ๊ป ์ธ๋ฑ์ค๋ก ๋ง๋ค ์ ์๋ค.
์ฒ์ ๋ณด๋ฉด ๊ทธ๋ฅ โ๋ ๊ฐ ํฉ์น ๊ฑฐ๋ค?โ ์ถ์๋ฐ ๋ง์ ์จ๋ณด๋ฉด ๊ทธ๋ ๊ฒ ๋จ์ํ์ง๊ฐ ์๋ค.
์์ ํ๋ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์์ ํ ๋ฌ๋ผ์ง๊ธฐ๋ ํด์ ์ด๊ฑด ๋์ค์ ๋ฐ๋ก ์ ๋ฆฌํด๋ด์ผ๊ฒ ๋ค ์ถ์๋ค.
Hash Index๋ ํด์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๋ค.
๊ทธ๋์ ์ ํํ ๊ฐ์ ๊ฐ์ ์ฐพ๋ ๋ฐ๋ ๋งค์ฐ ๋น ๋ฅด๋ค.
ํ์ง๋ง ๋ฒ์ ๊ฒ์์ ๋ถ๊ฐ๋ฅํ๋ค..
๊ทธ๋์ ์ผ๋ฐ์ ์ธ DB๋ณด๋ค๋ NoSQL์ด๋ ํน์ ์ํฉ์์๋ง ์ฌ์ฉ๋๋ค.
Bitmap Index๋ ๊ฐ์ ์ข
๋ฅ๊ฐ ์ ๊ณ , ์ค๋ณต์ด ๋ง์ ์ปฌ๋ผ์์ ์ฌ์ฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฑ๋ณ, ์ํ๊ฐ ๊ฐ์ ๋ฐ์ดํฐ๋ค.
์ผ๋ฐ ์๋น์ค๋ณด๋ค๋ ๋ฐ์ดํฐ ๋ถ์์ฉ(DB, DW)์์ ๋ง์ด ์ฌ์ฉ๋๋ค.
Full-Text Index๋ ํ
์คํธ ๊ฒ์์ ์ํ ์ธ๋ฑ์ค๋ค.
๊ฒ์ํ ๊ฒ์์ด๋ ๊ฒ์์์ง ๊ฐ์ ๊ธฐ๋ฅ์์ ์ฌ์ฉ๋๋ค.
LIKE ๊ฒ์๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ณ ๋จ์ด ๋จ์ ๊ฒ์์ด ๊ฐ๋ฅํ๋ค.
์ธ๋ฑ์ค๋ ๋จ์ํ ๋น ๋ฅด๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๋ผ ์ํฉ์ ๋ฐ๋ผ ์ ํํ๋ ๋๊ตฌ๋ค.
์ค๋ฌด์์๋ ๋๋ถ๋ถ B-Tree ๊ธฐ๋ฐ ์ธ๋ฑ์ค์ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ค์ฌ์ผ๋ก ์ฌ์ฉํ๋ค.
๊ฒฐ๊ตญ ์ค์ํ ๊ฑด ์ธ๋ฑ์ค๋ฅผ ๋ง์ด ์๋ ๊ฒ ์๋๋ผ,
์ด๋์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง๋ค.
๋ฉ๋ดํ์ด ์ ์ ๋ฆฌ๋์ด ์์ผ๋ฉด ์ํ๋ ๋ฉ๋ด๋ฅผ ๋ฐ๋ก ๊ณ ๋ฅผ ์ ์๋ฏ์ด,
๋ฐ์ดํฐ๋ ์ธ๋ฑ์ค๊ฐ ์ ์ค๊ณ๋์ด ์์ผ๋ฉด ์ ์ฒด๋ฅผ ๋ค์ง์ง ์๊ณ ๋ฐ๋ก ์ํ๋ ๊ฐ์ ์ฐพ์ ์ ์๋ค.