์ธ๋ฑ์Šค(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 ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค์™€ ๋ณตํ•ฉ ์ธ๋ฑ์Šค๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๊ฒฐ๊ตญ ์ค‘์š”ํ•œ ๊ฑด ์ธ๋ฑ์Šค๋ฅผ ๋งŽ์ด ์•„๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์–ด๋””์— ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€๋‹ค.

๋ฉ”๋‰ดํŒ์ด ์ž˜ ์ •๋ฆฌ๋˜์–ด ์žˆ์œผ๋ฉด ์›ํ•˜๋Š” ๋ฉ”๋‰ด๋ฅผ ๋ฐ”๋กœ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋“ฏ์ด, ๋ฐ์ดํ„ฐ๋„ ์ธ๋ฑ์Šค๊ฐ€ ์ž˜ ์„ค๊ณ„๋˜์–ด ์žˆ์œผ๋ฉด ์ „์ฒด๋ฅผ ๋’ค์ง€์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

ํƒœ๊ทธ: ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: