Database

[Database] ์ธ๋ฑ์Šค(Index)

quedevel 2023. 3. 26. 14:33
728x90
๋ฐ˜์‘ํ˜•

๐ŸŽฏ ์ธ๋ฑ์Šค(Index)


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค(Index)๋Š” ํ…Œ์ด๋ธ” ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์—ด(column)์— ๋Œ€ํ•ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ธ๋ฑ์Šค๋Š” ํ•ด๋‹น ์—ด์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ธ๋ฑ์Šค์˜ ์›๋ฆฌ


์ธ๋ฑ์Šค๋Š” B-tree๋‚˜ Hash Table๊ณผ ๊ฐ™์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. B-tree ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์ด์ง„ํƒ์ƒ‰(binary search) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Hash ์ธ๋ฑ์Šค๋Š” ํ•ด์‹œ ํ•จ์ˆ˜(hash function)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.


์ธ๋ฑ์Šค์˜ ์žฅ๋‹จ์ 



โญ๏ธ ์ธ๋ฑ์Šค์˜ ์žฅ์ 

  1. ๋น ๋ฅธ ๊ฒ€์ƒ‰ ์†๋„
    • ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ ์€ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ
    • ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค(์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ)๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ ์ •๋ ฌ
    • ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’€๏ธ ์ธ๋ฑ์Šค์˜ ๋‹จ์ 

  1. ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ถ”๊ฐ€์ ์ธ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ธ๋ฑ์Šค๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •, ์‚ญ์ œ, ์‚ฝ์ž…ํ•  ๋•Œ ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ์‚ฌ์šฉ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ


  1. ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ ์„ ํƒ
    • ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ปฌ๋Ÿผ์€ ์ž์ฃผ ๊ฒ€์ƒ‰๋˜๋Š” ์ปฌ๋Ÿผ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ์„ ์ธ๋ฑ์Šค๋กœ ์ƒ์„ฑํ•˜๋ฉด ์ธ๋ฑ์Šค ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ณ  ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ธ๋ฑ์Šค ํƒ€์ž… ์„ ํƒ
    • B-ํŠธ๋ฆฌ ์ธ๋ฑ์Šค๋Š” ๋ฒ”์šฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ธ๋ฑ์Šค์ด๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ธฐ๋ณธ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน์ •ํ•œ ๊ฒฝ์šฐ์—๋Š” ํ•ด์‹œ ์ธ๋ฑ์Šค๋‚˜ ์ „๋ฌธ ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค ๋“ฑ ๋‹ค๋ฅธ ํƒ€์ž…์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ธ๋ฑ์Šค ํŠœ๋‹
    • ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด๋„ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ธ๋ฑ์Šค์˜ ํŠœ๋‹ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ธ๋ฑ์Šค์˜ ๋†’์ด(height)๊ฐ€ ๋„ˆ๋ฌด ๋†’์€ ๊ฒฝ์šฐ(์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ ์ธ๋ฑ์Šค ๋ธ”๋ก์„ ๊ณ„์†ํ•ด์„œ ํƒ์ƒ‰ํ•ด์•ผ ํ•จ), ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์ธ๋ฑ์Šค ๋ถ„ํ• (partitioning) ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์ธ๋ฑ์Šค๋ฅผ ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•