๊ด€๋ฆฌ ๋ฉ”๋‰ด

Tech Log ๐Ÿ› ๏ธ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค๋ž€ (์ธ๋ฑ์Šค์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜) ๋ณธ๋ฌธ

Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค๋ž€ (์ธ๋ฑ์Šค์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜)

sehaan 2024. 1. 15. 18:46

0. ๋งŒ์•ฝ ์ธ๋ฑ์Šค๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด

 

์ธ๋ฑ์Šค ์—†์ด ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ํƒ์ƒ‰์„ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž

num์˜ ๊ฐ’์ด 27์ธ ํ–‰์„ ์ฐพ๋Š” ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ์ธ๋ฑ์Šค๊ฐ€ ์—†๋‹ค๋ฉด , ์ •๋ ฌ ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฐพ์•„์•ผํ•œ๋‹ค.

์ด๋Ÿด ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๊ฐ’์„ ํƒ์ƒ‰ํ•˜๋Š” ํ’€ ์Šค์บ”์„ ํ•ด์•ผํ•  ์ˆ˜๋„์žˆ๋‹ค.

์ด๋Š” ๋งค์šฐ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์ธ๋ฑ์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ํ˜„์ƒ์ด ์ผ์–ด๋‚˜๋Š” ์ง€ ์•Œ์•„๋ณด์•˜์œผ๋‹ˆ, ๊ทธ๋Ÿผ ์ด์ œ ์ธ๋ฑ์Šค๊ฐ€ ์ ์šฉ ๋œ ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž

 

 

์ฒ˜์Œ ์˜ˆ์‹œ์™€์˜ ์ฐจ์ด์ ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๊ณ  ๋ฌด์ž‘์ • ์ฒ˜์Œ๋ถ€ํ„ฐ ์กฐํšŒํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด ๊ฒฝ์šฐ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋“ค๋กœ๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ ํšจ์œจ์ ์ธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์ด์ œ ์šฐ๋ฆฌ๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์ธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค.

๋ฐ”๋กœ ์ด ์ธ๋ฑ์Šค๊ฐ€ ์˜ค๋Š˜ ๋ฐฐ์›Œ๋ณผ ์ฃผ์ œ์ด๋‹ค.

์–ด๋–ป๊ฒŒ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์ธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํšจ์œจ์ ์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ์ง€ ์•Œ์•„๋ณด์ž

 

1. ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

 

ํ…Œ์ด๋ธ”์˜ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ๋†’์—ฌ์ฃผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

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

 

์˜ˆ์‹œ๋ฅผ ํฌํ•จํ•ด์„œ ์ง€๊ธˆ๊นŒ์ง€์˜ ์„ค๋ช…์œผ๋กœ ์ธ๋ฑ์Šค์˜ ํŠน์ง•์„ ์ •๋ฆฌํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ์ธ๋ฑ์Šค์˜ ๋ฐ์ดํ„ฐ๋Š” ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค.
  • ์ธ๋ฑ์Šค๋Š” ์ถ”๊ฐ€์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•œ๋‹ค.
  • ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํšจ์œจ์ ์ธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ๋“ค์–ด๋„ ์ธ๋ฑ์Šค๊ฐ€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ์žฅ์ ์ด ์žˆ๋Š” ์ง€ ๋Œ€๋žต ํŒŒ์•…๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ชฝ์œผ๋กœ ์ข€ ๋” ๋“ค์–ด๊ฐ€์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์™œ ํ•„์š”ํ•œ ์ง€ ์•Œ์•„๋ณด์ž

 

2. ์ธ๋ฑ์Šค์˜ ๋™์ž‘ ๋ฐฉ์‹

mySQL์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์žˆ๋‹ค.

Indexes are used to find rows with specific column values quickly. Without an index, MySQL must begin with the first row and then read through the entire table to find the relevant rows.

 

ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ์š”์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ—ค
  2. ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ •๋ ฌํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃนํ•‘ ํ•˜๊ธฐ ์œ„ํ•ด

์˜ˆ๋ฅผ ๋“ค์–ด,

SELECT * FROM team WHERE name = ‘sehan’;

DELETE FROM logs WHERE datetime < ‘2023-06-16’;

UPDATE employee SET salary = salary * 1.5 WHERE id = 100;

SELECT * FROM team T JOIN department D ON [T.id](<http://T.id>) = D.id;

 

๊ฐ๊ฐ์˜ ์ฟผ๋ฆฌ์—๋Š” ์กฐ๊ฑด๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ•ด๋‹น ์ฟผ๋ฆฌ๋“ค์ด ์‹คํ–‰๋˜๋ฉด ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์ฐพ์•„์•ผํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๊ฐ„์ด๋‚˜ ๋์— ์žˆ๋‹ค๋ฉด ํ’€์Šค์บ”์„ ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ๋œ๋‹ค.

 

์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ธ๋ฑ์Šค๋Š” ๋ณ„๋„์˜ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์ž‘์—…์„ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ด๋ธ” ํƒ์ƒ‰ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผœ์ค€๋‹ค.

์ฆ‰ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ, ์กฐ๊ฑด๋“ค์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์ด ์ธ๋ฑ์Šค์ด๋‹ค.

๋˜ํ•œ ์ธ๋ฑ์Šค๋Š” ์กฐ์ธ์„ ํ•  ๋•Œ ์กฐ์ธ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

๋ฌด์กฐ๊ฑด Select ์—์„œ๋งŒ ํ•„์š”ํ•œ ๊ฒƒ์ด ์•„๋‹Œ ์กฐ๊ฑด ํƒ์ƒ‰์„ ์œ„ํ•ด์„œ๋“  ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์„ ์œ„ํ•ด์„œ๋“  ์ธ๋ฑ์Šค๋Š” ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

 

3. ์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜

๊ทธ๋ ‡๋‹ค๋ฉด ์ธ๋ฑ์Šค๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

 

์ธ๋ฑ์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ

์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ , ๋Œ€ํ‘œ์ ์œผ๋กœ B-tree ์™€ B+tree ๊ฐ€ ์žˆ๋‹ค.

๋งˆ์ง€๋ง‰์—” ์ถ”๊ฐ€๋กœ ํ•ด์‹œ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

B-tree,B+tree ์—์„œ ‘B’์˜ ์˜๋ฏธ๋Š” ์ •ํ™•ํžˆ ๋ฐํ˜€์ง„ ๋ฐ”๋Š” ์—†์ง€๋งŒ ๊ท ํ˜•์„ ๋งž์ถ˜๋‹ค๋Š” ์˜๋ฏธ์—์„œ Balanced ๋ผ๋Š” ์˜๋ฏธ๋กœ ํ†ตํ•œ๋‹ค.

๊ท ํ˜•์„ ๋งž์ถค์œผ๋กœ์จ ์ข€ ๋” ๋น ๋ฅธ ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

 

๋งŒ์•ฝ ์ž์‹๋…ธ๋“œ๋“ค์ด Balanced ํ•˜์ง€ ์•Š๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

ํŠธ๋ฆฌ๊ฐ€ ํŽธํ–ฅ๋˜์–ด ์žˆ๋Š” BST(์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ)๋ชจ์Šต์„ ์ƒ์ƒํ•ด๋ณด์ž

 

BST๋Š” ๊ท ํ˜•์„ ๋งž์ถ”์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์€ ๋ชจ์Šต์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 

์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋Š” O(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ B tree๋Š” ํŠธ๋ฆฌ์˜ ๊ท ํ˜•์„ ๋งž์ถค์œผ๋กœ์จ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ค„์—ฌ์ค€๋‹ค.

 

์ด๋Š” BST๋Š” ์ตœ๋Œ€ 2๊ฐœ์˜ ์ž๋…€ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€์ง€๋งŒ B tree๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž๋…€๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•˜๋‹ค.

 

B-Tree

B-tree ๋Š” ํ•ญ์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

๋•Œ๋ฌธ์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋”๋ผ๋„ O(logN)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๋ฆฌํ”„ ๋…ธ๋“œ๋“ค์€ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ์œผ๋ฉฐ ๋”ฐ๋ผ์„œ Balanced ๋˜์—ˆ๋‹ค ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

B-tree์˜ ๊ตฌ์„ฑ์„ ์‚ดํŽด๋ณด์ž, ๋…ธ๋“œ๋Š” ํ‚ค๊ฐ’๊ณผ ๋ฆฌํ”„ ๋…ธ๋“œ์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

๊ฐ key๋“ค์˜ ์™ผ์ชฝ ์ž์‹๋“ค์€ key๋ณด๋‹ค ์ž‘์€ ๊ฐ’ ,์˜ค๋ฅธ์ชฝ ๊ฐ’์€ key๋ณด๋‹ค ํฐ ๊ฐ’์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

 

B-tree ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰ ๊ณผ์ •์„ ์•Œ์•„๋ณด์ž

ํ˜„์žฌ ๋ฐ์ดํ„ฐ์—์„œ ์ •์ˆ˜ 27 ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

๋จผ์ € 27์€ 31๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ ์™ผ์ชฝ ์ž์‹๋…ธ๋“œ๋กœ ์ด๋™ํ•œ๋‹ค.

๊ทธ ๋‹ค์Œ 11, 29์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด ์ค‘๊ฐ„๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐ€์šด๋ฐ์— ์žˆ๋Š” ์ž์‹ ๋…ธ๋“œ๋กœ ํƒ์ƒ‰์„ ํ•˜๊ฒŒ๋˜๊ณ  27์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜๋ฉด์„œ ํƒ์ƒ‰์ด ๋๋‚œ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ท ํ˜• ์žˆ๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ฒฝ์šฐ์—์„œ ๋ฒ ์ŠคํŠธ์ธ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

์„ ํ˜• ํƒ์ƒ‰(Full scan)์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ O(n)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

์ด ๊ฒฝ์šฐ ๋’ค์—์„œ ์‚ดํŽด๋ณผ B+tree ๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ Full scan์‹œ ํšจ์œจ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‚ฝ์ž…

์‚ฝ์ž…์˜ ๊ฒฝ์šฐ ์กฐํšŒ ๋ฐฉ์‹๊ณผ ํ†ต์ผํ•˜๊ฒŒ Leaf Node๋“ค์„ ํƒ์ƒ‰ํ•˜๊ณ  ๋…ธ๋“œ ์ž๋ฆฌ๊ฐ€ ๋น„์–ด์žˆ๋‹ค๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์— ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž… , ๊ฝ‰ ์ฐจ ์žˆ๋‹ค๋ฉด ๋…ธ๋“œ๋ฅผ ๋ถ„ํ• ํ•ด์„œ ์‚ฝ์ž…ํ•œ๋‹ค.

์˜ˆ์ œ๋ฅผ ํ†ตํ•ด 13 ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž

ํƒ์ƒ‰์˜ ๊ฒฐ๊ณผ, 12์™€ 14 ์‚ฌ์ด์˜ ๊ฐ’์— ๋ฐฐ์ •๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น Leaf Node๋Š” ๋…ธ๋“œ๊ฐ€ ๊ฝ‰ ์ฐฌ ์ƒํƒœ์ด๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ถ€๋ชจ ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋ถ€๋ชจ ๋…ธ๋“œ๋„ ๊ฝ‰ ์ฐฌ ์ƒํƒœ๊ฐ€ ๋˜๋ฏ€๋กœ ์ค‘์•™๊ฐ’์ธ 11๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•ด์ค€๋‹ค.

 

๋ถ€๋ชจ ๋…ธ๋“œ์— 11์„ ๋„ฃ์œผ๋‹ˆ ๋˜ ๋…ธ๋“œ๊ฐ€ ๊ฝ‰ ์ฐฌ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‹ค์‹œ ์ค‘์•™๊ฐ’์ธ 11๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•ด์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ์‚ฝ์ž… ๊ณผ์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

 

B-tree์˜ ํŠน์ง•

  1. ๋ชจ๋“  ์ž์‹ ๋“ค์„ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•œ๋‹ค.
  2. ๋…ธ๋“œ์˜ key์˜ ์ˆ˜๊ฐ€ k๊ฐœ๋ผ๋ฉด, ์ž์‹๋…ธ๋“œ๋Š” k+1 ์ด๋‹ค.
  3. Key๋“ค์€ ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ์ด๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ B- Tree ์— ๋Œ€ํ•œ ์ž‘๋™ ๊ณผ์ •์ด๋‹ค.

์ด์ œ B+ Tree์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

 

B + Tree

 

B- tree์™€์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋ฆฌํ”„ ๋…ธ๋“œ๋“ค๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋Š” Full scan ์‹œ์— ๊ฐ€์žฅ ๋ช…ํ™•ํ•œ ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค.

 

๋‹ค์‹œ B-tree ์˜ Full scan ๊ณผ์ •์„ ์ƒ๊ฐํ•ด๋ณด์ž

B-tree์—์„œ๋Š” Full scan์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“  ๋ธŒ๋žœ์น˜ ๋…ธ๋“œ ๋ฐ ์ž์‹ ๋…ธ๋“œ๋“ค์„ ํƒ์ƒ‰ํ–ˆ์–ด์•ผํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ B+tree์—์„œ์˜ Full scan ์€ ๋‹ค๋ฅด๋‹ค.

๊ทธ ์ด์œ ๋Š” Leaf Node ์—๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ด๋“ค์€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋•๋ถ„์— ํ•œ๋ฒˆ์˜ ์„ ํ˜• ํƒ์ƒ‰์œผ๋กœ๋„ Full scan์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

B+tree์˜ ํŠน์ง•

  1. ๋ฆฌํ”„ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„๋‘์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ํ™•๋ณดํ•จ์œผ๋กœ์จ ๋” ๋งŽ์€ key๋“ค์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ํ’€ ์Šค์บ” ์‹œ, B+tree๋Š” ๋ฆฌํ”„ ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•ด์‹œ

 

 

ํ•ด์‹œ๊ฐ€ ์ธ๋ฑ์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ์•Œ๊ธฐ์ „์— ํ•ด์‹œํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ key๊ฐ’์„ ์ธ์ž๋กœ ํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ฆ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

์ด ๊ฒฝ์šฐ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ key๊ฐ’์„ ํ•ด์‹œํ•จ์ˆ˜ ํ•œ๋ฒˆ์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ O(1)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

 

ํ•˜์ง€๋งŒ ํ•ด์‹œ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์ธ๋ฑ์Šค์—์„œ ๊ฑฐ์˜ ์“ฐ์ด์ง€ ์•Š๋Š”๋ฐ, ๊ทธ ์ด์œ ๋Š” ๋“ฑํ˜ธ ๋ฐฉ์‹์—๋งŒ ์ตœ์ ํ™” ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰ DB ํƒ์ƒ‰ ์‹œ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์œ„๊ฒ€์ƒ‰์ด๋‚˜ ์ •๋ ฌ์—๋Š” ์ทจ์•ฝํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ๋‹จ์  ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์—์„œ๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜

 

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ ํ…Œ์ด๋ธ”๋‹น ๋‹จ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋งŒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด์„œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์กฐํšŒ ๊ณผ์ •์—์„œ ๋งค์šฐ ๋น ๋ฅธ ์†๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

ํ•˜์ง€๋งŒ ๊ทธ ์™ธ ์‚ฝ์ž… , ์‚ญ์ œ , ์ˆ˜์ • ๊ฐ™์€ ๊ฒฝ์šฐ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค์˜ ์‚ฌ์šฉ์ด ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

(DML์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ ๋งค๋ฒˆ ์ •๋ ฌ์„ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

๋”ฐ๋ผ์„œ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์˜ ์ˆ˜์ •์ด ๋นˆ๋ฒˆํ•˜์ง€ ์•Š๊ณ  ์กฐํšŒ ์œ„์ฃผ์˜ ์ž‘์—…์„ ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ์ข‹์€ ํšจ์œจ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ƒํ™œ์— ๋น„์œ ํ•ด๋ณด๋ฉด, ์˜์–ด ๋‹จ์–ด ์ฑ…์„ ์˜ˆ์‹œ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์˜์–ด ๋‹จ์–ด ์ฑ…์€ ํ•ญ์ƒ A~Z ๊นŒ์ง€ ์ •๋ ฌ๋˜์žˆ๋Š” ๋ฐ ์ฑ… ์ž์ฒด๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ด๊ฒƒ์„ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค !

 

๋…ผํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค

 

์‹ค์ œ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์„ ์ •๋ ฌํ•˜์ง€ ์•Š๊ณ  ๋ณ„๋„์˜ ๊ณต๊ฐ„์— ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋”ฐ๋ผ์„œ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.

 

DB์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋‹จ์œ„์ด๋‹ค.

ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋Š” 16kb์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

MySQL :: MySQL 8.0 Reference Manual :: 15.11.2 File Space Management

 

MySQL :: MySQL 8.0 Reference Manual :: 15.11.2 File Space Management

15.11.2 File Space Management The data files that you define in the configuration file using the innodb_data_file_path configuration option form the InnoDB system tablespace. The files are logically concatenated to form the system tablespace. There is no

dev.mysql.com

 

๋…ผํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ๋ณด๋‹ค ์ˆ˜์ •,์‚ญ์ œ,์‚ฝ์ž… ์‹œ์— ๋” ์ข‹์€ ํšจ์œจ์„ ๊ฐ€์ง„๋‹ค.

์‹ค์ƒํ™œ์— ๋น„์œ ํ•ด๋ณด๋ฉด ,

์ฑ… ์•ž์— ์ƒ‰์ธ(์ธ๋ฑ์Šค)๋ฅผ ๋ณด๊ณ  ํ•ด๋‹น ๋‚ด์šฉ์ด ์žˆ๋Š” ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด๋‹ค !

๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ๋ณด๋‹จ ์ˆ˜์‹œ๋กœ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋Š” ํ…Œ์ด๋ธ”์—์„œ์˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•˜๋‹ค.

4. ์ธ๋ฑ์Šค ๋งŒ๋“œ๋Š” ๋ฒ•

SQL ๋ฌธ์„ ํ†ตํ•ด ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ด ์ค‘์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์“ฐ๋Š” ํ”„๋ผ์ด๋จธ๋ฆฌ ํ‚ค๋ฅผ ํ†ตํ•œ ์ธ๋ฑ์Šค ์ƒ์„ฑ๋„ ํฌํ•จ๋˜์–ด์žˆ๋‹ค.

์œ„์—์„œ ๋‘๊ฐ€์ง€์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐฐ์› ๋Š”๋ฐ ๊ฐ๊ฐ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š” ์ง€๋ฅผ ์•Œ์•„๋ณด์ž

 

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค

  1. ํ”„๋ผ์ด๋จธ๋ฆฌ ํ‚ค๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ
  2. not null + ์œ ๋‹ˆํฌ ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ
ALTER TABLE member ADD CONSTRAINT id PRIMARY KEY(id); → ํด๋Ÿฌ์Šคํ„ฐ๋ง

ALTER TABLE member ADD CONSTRAINT id UNIQUE NOT NULL; → ํด๋Ÿฌ์Šคํ„ฐ๋ง

 

๋…ผ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค

  1. ์œ ๋‹ˆํฌ ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ
  2. ์ง์ ‘ (์œ ๋‹ˆํฌ)์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ
ALTER TABLE member ADD CONSTRAINT name UNIQUE(name); → ๋…ผํด๋Ÿฌ์Šคํ„ฐ๋ง

CREATE INDEX name ON member (name); → ๋…ผํด๋Ÿฌ์Šคํ„ฐ๋ง

์•„๋‹ˆ๋ฉด ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

CREATE TABLE member(
id INT PRIMARY KEY,
name varchar(20) not null,
INDEX name_idx (name)
)

 

์ด์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ DB ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ์ ์ ˆํ•œ ์ธ๋ฑ์Šค ์‚ฌ์šฉ

์ธ๋ฑ์Šค๋ฅผ ์“ฐ๋ฉด ๋น ๋ฅธ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ธ๋ฑ์Šค๊ฐ€ ๊ตณ์ด ํ•„์š”์—†๋Š” ์ƒํ™ฉ์€ ์–ธ์ œ์ผ๊นŒ?

  1. ์ธ๋ฑ์Šค์˜ ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ๋„“์€ ๊ฒฝ์šฐ์ด๋‹ค. ๋„“๋‹ค๋Š” ๊ฒƒ์˜ ๊ธฐ์ค€์€ ์ „์ฒด ๋ฐ์ดํ„ฐ์˜ 15%์ด์ƒ์„ ์กฐํšŒํ•ด์•ผํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๋ณด๋ฉด ์ ํ•ฉํ•˜๋‹ค.
  2. ์ด ๊ฒฝ์šฐ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•œ ํšจ๊ณผ๊ฐ€ ๋ฏธ๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค์˜ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•œ๋‹ค.
  3. ์กฐํšŒ๋ณด๋‹ค ์‚ฝ์ž…,์‚ญ์ œ ๋“ฑ ์ˆ˜์ • ์ž‘์—…์ด ๋งŽ์„ ๊ฒฝ์šฐ์ด๋‹ค. ์ด ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ธ๋ฑ์Šค๋กœ ์ธํ•œ ํšจ๊ณผ๊ฐ€ ๋ฏธ๋ฏธํ•˜๋‹ค.(์ˆ˜์ • ์ž‘์—… ์‹œ where ๋กœ ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ ์ œ์™ธ)
  4. ๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ์ ์€ ๊ฒฝ์šฐ๋Š” ๋ฐฐ๋ณด๋‹ค ๋ฐฐ๊ผฝ์ด ๋” ํฐ ์ƒํ™ฉ์ด ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์„ ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

6. ์–ธ์ œ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ๋ฑ์Šค๋กœ ํ•˜๋ฉด ํšจ๊ณผ์ ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ์นด๋””๋„ˆ๋ฆฌํ‹ฐ๋ž€ ์‚ฌ์ „์  ์˜๋ฏธ๋กœ ๊ทธ๋ฃน ๋‚ด ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’๋‹ค๋Š” ๊ฒƒ์€ ์–ด๋–ค ๊ฑธ ์˜๋ฏธํ• ๊นŒ?

์ •ํ•ด์ง„ ๋ฐ์ดํ„ฐ ๋‚ด์—์„œ ๊ทธ๋ฃน ๋‚ด ์š”์†Œ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋Š” ๊ฒƒ์€ ์ค‘๋ณต์ด ์ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ค‘๋ณต์ด ์ ๋‹ค๋Š” ๊ฒƒ์€ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉ ์‹œ ๋งค์šฐ ์ข‹์€ ํšจ์œจ์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ์„ฑ๋ณ„ , ํ•™๋…„์€ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋‚ฎ์œผ๋ฏ€๋กœ(์ค‘๋ณต์ด ๋†’์Œ) ์ธ๋ฑ์Šค์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

๋ฐ˜๋Œ€๋กœ ํ•™๋ฒˆ , ๊ณ ์œ  ID ๋“ฑ์€ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’์œผ๋ฏ€๋กœ(์ค‘๋ณต์ด ๋‚ฎ์Œ) ์ธ๋ฑ์Šค ์‚ฌ์šฉ์— ์ ํ•ฉํ•˜๋‹ค.

7. ๊ฒฐ๋ก 

์ธ๋ฑ์Šค์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ์ธ๋ฑ์Šค์˜ ์‚ฌ์šฉ ํšจ๊ณผ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค.

์ธ๋ฑ์Šค๋Š” ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ํšจ์œจ์„ ๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒํ™ฉ์— ๋งž์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค ์‚ฌ์šฉ์€ ์˜คํžˆ๋ ค ์—ญํšจ๊ณผ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์ธ ์ง€๋ฅผ ์ž˜ ํŒ๋‹จํ•ด ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

 

์ฐธ๊ณ  ์ž๋ฃŒ

DB Index ๋™์ž‘์›๋ฆฌ๋ฅผ ์•Œ์•„๋ณด์ž

 

DB Index ๋™์ž‘์›๋ฆฌ๋ฅผ ์•Œ์•„๋ณด์ž

B-Tree๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด๋Š” Index ๋™์ž‘ ์›๋ฆฌ

kyungyeon.dev

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค vs ๋„Œํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค | zinirun

 

ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค vs ๋„Œํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค | zinirun

ํ•™๊ณผ ๊ณต๋ถ€์™€ ์‹œํ—˜์„ ์ค€๋น„ํ•˜๋‹ค๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค์™€ ๋„Œํด๋Ÿฌ์Šคํ„ฐ ์ธ๋ฑ์Šค๋ฅผ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. ๊ฐœ๋… ์˜์–ด ์‚ฌ์ „์„ ์ƒ๊ฐํ•ด๋ณด์ž. ๊ธฐ๋ณธ์ ์œผ๋กœ A~Z ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ์ฑ… ์ž์ฒด๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค. ์ด๊ฑด ํด๋Ÿฌ์Šคํ„ฐ ์ธ

zinirun.github.io

[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ฆผ์œผ๋กœ ์•Œ์•„๋ณด๋Š” B-Tree

 

[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ฆผ์œผ๋กœ ์•Œ์•„๋ณด๋Š” B-Tree

BํŠธ๋ฆฌ๋Š” ์ด์ง„ํŠธ๋ฆฌ์—์„œ ๋ฐœ์ „๋˜์–ด ๋ชจ๋“  ๋ฆฌํ”„๋…ธ๋“œ๋“ค์ด ๊ฐ™์€ ๋ ˆ๋ฒจ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ์ž๋™์œผ๋กœ ๋ฒจ๋Ÿฐ์Šค๋ฅผ ๋งž์ถ”๋Š” ํŠธ๋ฆฌ์ž…๋‹ˆ๋‹ค.

velog.io