CS/DataBase

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

    MySQL ์„œ๋ฒ„๋กœ ์š”์ฒญ๋œ ์ฟผ๋ฆฌ๋Š” ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•˜์ง€๋งŒ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ• ์ค‘, ๊ฐ€์žฅ ์ตœ์ ์ด๊ณ  ์ตœ์†Œ์˜ ๋น„์šฉ์ด ์†Œ๋ชจ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ์ž‘์—…์„ ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค. MySQL ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์„ ๋งŒ๋“ค๊ณ , ๊ฐ ๋‹จ์œ„ ์ž‘์—…์˜ ๋น„์šฉ ์ •๋ณด์™€ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ์˜ˆ์ธก๋œ ํ†ต๊ณ„ ์ •๋ณด๋ฅผ ์ด์šฉํ•ด ์‹คํ–‰ ๊ณ„ํš๋ณ„ ๋น„์šฉ์„ ์‚ฐ์ถœํ•œ๋‹ค. ์‚ฐ์ถœ๋œ ๋น„์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ, ๋น„์šฉ์ด ์ตœ์†Œ๋กœ ์†Œ์š”๋˜๋Š” ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๐Ÿ’ก ๋น„์šฉ ๊ธฐ๋ฐ˜ ์˜ตํ‹ฐ๋งˆ์ด์ € ์ด๋‹ค. ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ์‹คํ–‰ ๊ณ„ํš์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์‹คํ–‰ ๊ณ„ํš์˜ ๋ถˆํ•ฉ๋ฆฌํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„๋‚ด๊ณ , ๋” ์ตœ์ ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๐Ÿ“Œ ํ’€ ํ…Œ์ด๋ธ” ์Šค์บ”๊ณผ ํ’€ ์ธ๋ฑ์Šค ์Šค์บ” ํ’€ ํ…Œ์ด๋ธ” ์Šค์บ”์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ…Œ์ด๋ธ”์˜..

    Index(์ธ๋ฑ์Šค)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

    Real MySQL ์ฑ…์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ ํŠœ๋‹์€ ์–ด๋–ป๊ฒŒ ๋””์Šคํฌ I/O๋ฅผ ์ค„์ด๋Š๋ƒ๊ฐ€ ๊ด€๊ฑด์ผ๋•Œ๊ฐ€ ์ƒ๋‹นํžˆ ๋งŽ๋‹ค. ๐Ÿ’ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ์นผ๋Ÿผ์˜ ๊ฐ’๊ณผ ํ•ด๋‹น ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ํ‚ค์™€ ๊ฐ’์˜ ์Œ์œผ๋กœ ์‚ผ์•„ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋‘”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์นผ๋Ÿผ์˜ ๊ฐ’์„ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋กœ ๋ฏธ๋ฆฌ ์ •๋ ฌํ•ด์„œ ๋ณด๊ด€ํ•œ๋‹ค. ๐Ÿ’ก ์กฐํšŒ ์š”์ฒญ ์‹œ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋นจ๋ฆฌ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค. (SELECT) ๐Ÿšจ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ๋•Œ ๋งˆ๋‹ค ํ•ญ์ƒ ๊ฐ’์„ ์ •๋ ฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ  ๋Š๋ฆฌ๋‹ค. ( INSERT · UPDATE · DELETE ) ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹ ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉด, ๋Œ€ํ‘œ์ ์œผ๋กœ B-Tree ์ธ๋ฑ์Šค์™€ Hash ์ธ๋ฑ..