Index

Index๋Š” ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”

Index์˜ ๋ณธ์งˆ

  • Index๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ๊ด€๋ฆฌ๋˜๋ฉฐ, ์›๋ณธ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ์กด์žฌํ•œ๋‹ค.

  • Index๋Š” ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๋น ๋ฅธ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ตฌ์กฐ๋‹ค.

  • Index ์ž์ฒด๋„ ๊ด€๋ฆฌ์™€ ์œ ์ง€๊ฐ€ ํ•„์š”ํ•œ ๋…๋ฆฝ๋œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค (Clustered Index)

๋ฐ์ดํ„ฐ ์œ„์น˜ ๊ฒฐ์ •

  • ํด๋Ÿฌ์Šคํ„ฐ Index๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ‚ค ์—ญํ• ์„ ํ•œ๋‹ค.

MySQL์—์„œ์˜ ์—ญํ• 

  • MySQL์—์„œ๋Š” ๊ธฐ๋ณธ ํ‚ค(Primary Key,PK)๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ Index ์—ญํ• ์„ ํ•œ๋‹ค.

  • PK ๊ฐ’์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅํ•œ๋‹ค.

์‚ฝ์ž… ๋ฐ ๊ฐฑ์‹ 

  • ํด๋Ÿฌ์Šคํ„ฐ ํ‚ค(PK)์˜ ์‚ฝ์ž… ๋˜๋Š” ๊ฐฑ์‹  ์‹œ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์„ฑ๋Šฅ์ƒ์˜ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.

PK ํฌ๊ธฐ์˜ ์ค‘์š”์„ฑ

  • PK์˜ ํฌ๊ธฐ๋Š” Index์˜ ์ „์ฒด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

  • ํฌ๊ธฐ๊ฐ€ ํฐ PK๋Š” Index์˜ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์‹œ

  • ๊ฐ€์ƒ์˜ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์ด ์žˆ๊ณ , ๊ณก๊ฐ ID๊ฐ€ PK๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

  • ์ด ํ…Œ์ด๋ธ”์— ํด๋Ÿฌ์Šคํ„ฐ index๊ฐ€ ์ ์šฉํ•œ๋‹ค.

  • ๊ณ ๊ฐ ID์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

  • ์ƒˆ ๊ณ ๊ฐ์ด ์ถ”๊ฐ€๋˜๋ฉด, ๊ทธ ๊ณ ๊ฐ์˜ ID์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์œ„์น˜์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค.

์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค (Secondary Index)

PK ์™ธ ํ•„๋“œ index

  • PK๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ•„๋“œ์— ๋Œ€ํ•œ index๋‹ค.

๋ฌผ๋ฆฌ์  ๋ฐฐ์—ด ์˜ํ–ฅ

  • ๋ฐ์ดํ„ฐ์˜ ๋ฌผ๋ฆฌ์  ๋ฐฐ์—ด์— ์ ์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

๋ฐ์ดํ„ฐ ์ ‘๊ทผ

  • ์„ธ์ปจ๋”๋ฆฌ index๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์€ ํ›„ PK๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

ํšจ์œจ์„ฑ

  • ๋ฐ์ดํ„ฐ ๋ถ„ํฌ์™€ ์ฟผ๋ฆฌ ํŠน์„ฑ์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ฒ€์ƒ‰ ๊ณผ์ •

  • ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰

  • PK ์ฐพ๊ธฐ

  • PK๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ

์˜ˆ์‹œ

  • ์œ„์™€ ๊ฐ™์€ ๊ณ ๊ฐํ…Œ์ด๋ธ”์ด๋‹ค.

  • ๋งŒ์•ฝ ์„ฑ์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์ด ์ž์ฃผ ์ด๋ฃจ์–ด์ง„๋‹ค.

  • ์„ฑ์•  ๋Œ€ํ•œ ์„ธ์ปจ๋”๋ฆฌ index๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ด index๋ฅผ ํ†ตํ•ด ์„ฑ์œผ๋กœ ๊ฒ€์ƒ‰ ์‹œ, ๋น ๋ฅด๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋‚˜, ์ตœ์ข…์ ์ธ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” PK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๊ณ ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ๋Š”๋‹ค.

Index์˜ ์žฅ๋‹จ์ 

์žฅ์ 

๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ํ–ฅ์ƒ

  • index๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.

์ •๋ ฌ ๋ฐ ๊ทธ๋ฃนํ™” ์ž‘์—… ์ตœ์ ํ™”

  • index๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์ •๋ ฌ๊ณผ ๊ทธ๋ฃนํ™” ์ž‘์—…์ด ๋” ๋นจ๋ผ์ง„๋‹ค.

์กฐ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ

  • index๋Š” ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์กฐ์ธ ์ž‘์—…์—์„œ๋„ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.

๋‹จ์ 

์ถ”๊ฐ€ ์ €์žฅ ๊ณต๊ฐ„ ํ•„์š”

  • index๋Š” ์ถ”๊ฐ€์ ์ธ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•œ๋‹ค.

์“ฐ๊ธฐ ์ž‘์—… ์„ฑ๋Šฅ ์ €ํ•˜

  • index๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ํ•˜๋Š” ๊ฒฝ์šฐ, index ์—ญ์‹œ ๊ฐฑ์‹  ๋˜์—ฌ์•ผ ํ•˜๋ฏ€๋กœ ์“ฐ๊ธฐ ์ž‘์—…์ด ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ

  • index์˜ ์œ ๋ฆฌ ๋ฐ ๊ด€๋ฆฌ์— ์ถ”๊ฐ€์ ์ธ ๋ฆฌ์†Œ์Šค๊ฐ€ ์†Œ์š”ํ•œ๋‹ค.

index์˜ ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„

๊ฒ€์ƒ‰ ๋Œ€ ์“ฐ๊ธฐ ์„ฑ๋Šฅ

  • index๋Š” ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ,์“ฐ๊ธฐ ์ž‘์—…(์‚ฝ์ž…,์‚ญ์ œ,์ˆ˜์ •)์—๋Š” ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

  • ๋”ฐ๋ผ์„œ ์ฝ๊ธฐ๊ฐ€ ๋งŽ์€ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” index๊ฐ€ ์œ ๋ฆฌํ•˜์ง€๋งŒ ์“ฐ๊ธฐ๊ฐ€ ๋ฒˆ๋ฒˆํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” ์„ฑ๋Šฅ ์ €ํ•˜ ์š”์ธ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ณต๊ฐ„ ๋Œ€ ์„ฑ๋Šฅ

  • index๋Š” ์ถ”๊ฐ€์ ์ธ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ณต๊ฐ„ ํšจ์œจ์„ฑ๊ณผ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ์‚ฌ์ด์—์„œ ์ ์ ˆํ•œ ๊ท ํ˜•์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

index ์ „๋žต

index ์„ ํƒ์˜ ์ค‘์š”์„ฑ

  • ๋ชจ๋“  ์ปฌ๋Ÿผ์— index๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ ์ ์ด๋‹ค.

  • ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒ€์ƒ‰์— ์ค‘์š”ํ•œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด์„œ๋งŒ index๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

index ํฌ๊ธฐ ์ตœ์ ํ™”

  • index์˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ๋” ๋งŽ์€ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋„ ์ฆ๊ฐ€ํ•œ๋‹ค.

  • ๊ฐ€๋Šฅํ•œ index ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์ ์ ˆํ•œ index ์œ ํ˜• ์„ ํƒ

  • B+ํŠธ๋ฆฌ,ํ•ด์‹œ,๋น„ํŠธ๋งต ๋“ฑ ๋‹ค์–‘ํ•œ index ์œ ํ˜•์ด ์žˆ๋‹ค.

  • ์‚ฌ์šฉ ๋ชฉ์ ๊ณผ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋งž๋Š” index ์œ ํ˜•์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

๋ณตํ•ฉ index ํ™œ์šฉ

  • ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฒ€์ƒ‰์ด ์ž์ฃผ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒฝ์šฐ, ๋ณตํ•ฉ index๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค.

index ์œ ์ง€ ๊ด€๋ฆฌ

  • ์ •๊ธฐ์ ์ธ index ์œ ์ง€ ๊ด€๋ฆฌ(์˜ˆ: ๋ฆฌ๋นŒ๋”ฉ, ๋ฆฌ์˜ค๊ฑฐ๋‚˜์ด์ง•)๋Š” index์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•˜๋‹ค.

์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ถ„์„

  • index์˜ ์„ฑ๋Šฅ์„ ์ง€์†์ €๊ธ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์ถ”๊ฐ€์ ์ธ ๊ฐœ๋…

Primary Key (PK)

  • ๊ฐ ๋ ˆ์ด๋“œ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค

  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฐ ๊ฒ€์ƒ‰ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด index๋กœ ๊ตฌํ˜„ํ•œ๋‹ค.

  • PK์— ์ž๋™์œผ๋กœ index๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์†๋„๋ฅผ ํ–ฅ์ƒํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฅผ PK ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ €์žฅํ•˜๋ฉฐ, ๊ฒ€์ƒ‰๊ณผ ์ •๋ น์— ํšจ์œจ์ ์ด๋‹ค.

Foreign Key (FK)

  • ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ PK๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๊ด€๊ณ„์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ PK๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค.

  • FK์— index๋ฅผ ์ ์šฉํ•˜๋ฉด ๊ด€๋ จ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์กฐ์ธ ์ž‘์—…์ด ๋” ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

Relation

๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•Œ์•„์•ผ ํ•  ์ง€์—ฐ ์‹œ๊ฐ„ ์ˆ˜์น˜

B+ tree

Last updated

Was this helpful?