Index

Index ๋ž€

Index๋ž€ ์ฑ…์˜ ๋ชฉ์ฐจ์™€ ๊ฐ™์€ ์ƒ‰์ธ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ถ”๊ฐ€์ ์ธ ์“ฐ๊ธฐ ์ž‘์—…๊ณผ ์ €์žฅ๊ณต๊ฐ„์„ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.

simple index example

Index์˜ ์žฅ์ 

๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋“ฏ์ด index๋Š” ์ •๋ ฌ๋œ ํ˜•ํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ ์žˆ๊ธฐ์—, ์›ํ•˜๋Š” ๊ฐ’์„ ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ์ค€๋‹ค.

์ฆ‰ ORDER BY ํ˜น์€ MIN/MAX ๊ฐ™์€ ๊ฒฝ์šฐ ์ด๋ฏธ ์ •๋ ฌ๋˜์–ด ํšจ์œจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Index์˜ ๋‹จ์ 

์ธ๋ฑ์Šค๊ฐ€ ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•˜๊ธฐ์—, ์ด์— ๋™๋ฐ˜๋˜๋Š” ๋‹จ์ ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ธ๋ฑ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—… ๋ฐ ๊ณต๊ฐ„ ํ•„์š” (๋Œ€๋žต 10%)

  2. ๋‚จ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์˜ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒ

์ฆ‰ ํ•ญ์ƒ ์ •๋ ฌ๋˜์–ด ์žˆ๊ธฐ์—, INSERT, DELETE, UPDATE์™€ ๊ฐ™์€ ์ž‘์—…์ธ ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฆ‰ ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ , INSERT, UPDATE, DELETE ๋“ฑ์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉฐ WHERE, ORDER BY, JOIN๋“ฑ SELECT๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ํ…Œ์ด๋ธ”์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.

Index ์ž๋ฃŒ๊ตฌ์กฐ

Hash Table

์ผ๋ฐ˜์ ์œผ๋กœ <key, value> ์Œ์„ ์ด๋ฃจ์–ด O(1)์˜ ๋งค์šฐ ๋น ๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, equal ์—ฐ์‚ฐ์— ์ตœ์ ํ™” ๋˜์–ด ์žˆ์–ด ํ•ด์‹œ ํ…Œ์ด๋ธ” ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์ •๋ ฌ๋˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

B+ Tree

์ผ๋ฐ˜์ ์œผ๋กœ B- Tree์—์„œlinked list๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ , leaf node์—๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ๋กœ, ๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ์„ ์ด์šฉํ•œ ์ˆœ์ฐจ ๊ฒ€์ƒ‰์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง•์ƒ ๋” ํšจ์œจ์ ์œผ๋กœ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋™์ž‘๋ฐฉ๋ฒ•

Index๊ฐ€ ์ƒ์„ฑ๋œ ํ›„ SELECT ์ฟผ๋ฆฌ๋ฌธ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด, ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ํŒ๋‹จํ•˜์—ฌ ์ƒ์„ฑ๋œ ์ธ๋ฑ์Šค๋ฅผ ์ ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

์˜ตํ‹ฐ๋งˆ์ด์ €

  1. ์ธ๋ฑ์Šค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฒŒ๋œ ๊ฒฝ์šฐ, Full Table Scan์„ ํ•˜๋ฉฐ ์ž์›์„ ์†Œ๋ชจํ•˜๋ฉฐ Index๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.

  2. ๋‹ค์Œ ์ธ๋ฑ์Šค๊ฐ€ ์กด์žฌํ•œ ํ›„ ์กฐํšŒ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด, Index๋ฅผ ํ†ตํ•ด Location์„ ์‰ฝ๊ฒŒ ์ฐพ์€ ํ›„ TABLE์„ ์กฐํšŒํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

simple table scanning comparison

์ฐธ๊ณ 

Last updated