Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable

Amenable's Blog

B-Tree ์ธ๋ฑ์Šค - (1)
๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๊ฐœ๋…

B-Tree ์ธ๋ฑ์Šค - (1)

2023. 7. 3. 13:21

  ์ด๋ฒˆ ๊ธ€๊ณผ ๋‹ค์Œ ๊ธ€์„ ํ†ตํ•ด์„œ B-Tree ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

 

๐Ÿ“™ 1. ์ธ๋ฑ์Šค ๊ฐœ๋…

๐Ÿงฐ 1. ์ฑ…๊ณผ ์ธ๋ฑ์Šค

  ์ธ๋ฑ์Šค๋ž€ ์ฑ…์˜ ๋งจ ๋์— ์žˆ๋Š” ์ฐพ์•„๋ณด๊ธฐ(= ์ƒ‰์ธ)์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. '์ฐพ์•„๋ณด๊ธฐ'๋ฅผ ์ธ๋ฑ์Šค๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, '์ฑ…์˜ ๋‚ด์šฉ'์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ํ•ด๋‹นํ•˜๊ณ , 'ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ'๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  DBMS์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ์นผ๋Ÿผ(๋˜๋Š” ์นผ๋Ÿผ๋“ค)์˜ ๊ฐ’๊ณผ ํ•ด๋‹น ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ํ‚ค์™€ ๊ฐ’์˜ ์Œ(key-value)์œผ๋กœ ์‚ผ์•„ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋‘๋Š” ๊ฒƒ์ด๋‹ค.

 

  ์ฑ…์˜ '์ฐพ์•„๋ณด๊ธฐ'์™€ DBMS์˜ ์ธ๋ฑ์Šค์˜ ์ค‘์š”ํ•œ ๊ณตํ†ต์ ์€ '์ •๋ ฌ'์ด๋‹ค. '์ฐพ์•„๋ณด๊ธฐ'๋Š” 'ใ„ฑ, ใ„ด, ใ„ท, ใ„น,...'๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š”๋ฐ, DBMS์˜ ์ธ๋ฑ์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์นผ๋Ÿผ์˜ ๊ฐ’์„ ์ฃผ์–ด์ง„ ์ˆœ๋”๋กœ ๋ฏธ๋ฆฌ ์ •๋ ฌํ•ด์„œ ๋ณด๊ด€ํ•œ๋‹ค.

 

๐Ÿงฐ 2. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์ธ๋ฑ์Šค

  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ธ๋ฑ์Šค์™€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ ํŠน์„ฑ์„ ์ดํ•ดํ•ด ๋ณด์ž. ํ•„์š”ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ ์ง€์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  SortedList๋Š” ์ €์žฅ๋˜๋Š” ๊ฐ’์„ ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋ฉฐ, ArrayList๋Š” ๊ฐ’์„ ์ €์žฅ๋˜๋Š” ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

 

  SortedList๋Š” DBMS์˜ ์ธ๋ฑ์Šค์™€ ๊ฐ™์€ ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋ฉฐ, ArrayList๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  ๊ทธ๋ž˜์„œ DBMS์˜ ์ธ๋ฑ์Šค๋Š” SortedList์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ €์žฅ๋˜๋Š” ์นผ๋Ÿผ์˜ ๊ฐ’์„ ์ด์šฉํ•ด ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ํŒŒ์ผ์€ ArrayList์™€ ๊ฐ™์ด ์ €์žฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ณ„๋„์˜ ์ •๋ ฌ ์—†์ด ๊ทธ๋Œ€๋กœ ์ €์žฅํ•ด ๋‘”๋‹ค.

 

  DBMS์—์„œ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ(INSERT, UPDATE, DELETE) ์„ฑ๋Šฅ์„ ํฌ์ƒํ•˜๊ณ  ๊ทธ ๋Œ€์‹  ๋ฐ์ดํ„ฐ์˜ ์ฝ๊ธฐ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

  ๊ทธ ์ด์œ ๋Š” SortedList ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ๋•Œ๋งˆ๋‹ค ํ•ญ์ƒ ๊ฐ’์„ ์ •๋ ฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ  ๋А๋ฆฌ์ง€๋งŒ, ์ด๋ฏธ ์ •๋ ฌ๋ผ ์žˆ์–ด์„œ ์•„์ฃผ ๋นจ๋ฆฌ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•„์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  DBMS์˜ ์ธ๋ฑ์Šค๋„ ์ธ๋ฑ์Šค๊ฐ€ ๋งŽ์€ ํ…Œ์ด๋ธ”์€ ๋‹น์—ฐํžˆ INSERT๋‚˜ UPDATE, DELETE ๋ฌธ์žฅ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋А๋ ค์ง„๋‹ค. ํ•˜์ง€๋งŒ, ์ด๋ฏธ ์ •๋ ฌ๋œ '์ฐพ์•„๋ณด๊ธฐ'์šฉ ํ‘œ(์ธ๋ฑ์Šค)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— SELECT ๋ฌธ์žฅ์€ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“™ 2. B-Tree์˜ ๊ตฌ์กฐ ๋ฐ ํŠน์„ฑ

  B-Tree๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ธ๋ฑ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ€์šด๋ฐ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ , ๊ฐ€์žฅ ๋จผ์ € ๋„์ž…๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์•„์ง๊นŒ์ง€ ๊ฐ€์žฅ ๋ฒ”์šฉ์ ์ธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ธ๋ฑ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.


  B-Tree๋Š” ์นผ๋Ÿผ์˜ ์›๋ž˜ ๊ฐ’์„ ๋ณ€ํ˜•์‹œํ‚ค์ง€ ์•Š๊ณ  ์ธ๋ฑ์Šค ๊ตฌ์กฐ์ฒด ๋‚ด์—์„œ๋Š” ํ•ญ์ƒ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•œ๋‹ค. ์ „๋ฌธ ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ์š”๊ฑด์ด ์•„๋‹Œ ๊ฒฝ์šฐ, ๋Œ€๋ถ€๋ถ„ ์ธ๋ฑ์Šค๋Š” ๊ฑฐ์˜ B-Tree๋ฅผ ์‚ฌ์šฉํ•  ์ •๋„๋กœ ์ผ๋ฐ˜์ ์ธ ์šฉ๋„์— ์ ํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

  B-Tree๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ์ตœ์ƒ์œ„์— ํ•˜๋‚˜์˜ '๋ฃจํŠธ ๋…ธ๋“œ(Root node)'๊ฐ€ ์กด์žฌํ•˜๊ณ  ๊ทธ ํ•˜์œ„์— ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋ถ™์–ด ์žˆ๋Š” ํ˜•ํƒœ๋‹ค. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ๊ฐ€์žฅ ํ•˜์œ„์— ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ '๋ฆฌํ”„ ๋…ธ๋“œ(Leaf node)'๋ผ ํ•˜๊ณ , ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ๋ฃจํŠธ ๋…ธ๋“œ๋„ ์•„๋‹ˆ๊ณ  ๋ฆฌํ”„ ๋…ธ๋“œ๋„ ์•„๋‹Œ ์ค‘๊ฐ„์˜ ๋…ธ๋“œ๋ฅผ '๋ธŒ๋žœ์น˜ ๋…ธ๋“œ(Branch node)'๋ผ๊ณ  ํ•œ๋‹ค.

  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ธ๋ฑ์Šค์™€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋”ฐ๋กœ ๊ด€๋ฆฌ๋˜๋Š”๋ฐ, ์ธ๋ฑ์Šค์˜ ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” ํ•ญ์ƒ ์‹ค์ œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๊ฐ€๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

  ์ธ๋ฑ์Šค์˜ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์‚ดํŽด๋ดค๋“ฏ์ด ๋Œ€๋ถ€๋ถ„ RDBMS์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์—์„œ ๋ ˆ์ฝ”๋“œ๋Š” ํŠน์ • ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š๊ณ  ์ž„์˜์˜ ์ˆœ์„œ๋กœ ์ €์žฅ๋œ๋‹ค. ํ•˜์ง€๋งŒ, InnoDB ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋˜์–ด ๋””์Šคํฌ์— ์ €์žฅ๋˜๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ PK ์ˆœ์„œ๋กœ ์ •๋ ฌ๋˜์–ด ์ €์žฅ๋œ๋‹ค.

 

  ์œ„์˜ ๊ทธ๋ฆผ์€ MyISAM ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„๊ณผ InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—์„œ์˜ 'B-Tree์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์™€ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ์˜ ๊ด€๊ณ„'๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

  ๋‘ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ์ธ๋ฑ์Šค์—์„œ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ํŒŒ์ผ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•์— ์žˆ๋‹ค. MyISAM ํ…Œ์ด๋ธ”์€ ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๊ฐ€ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฐ˜๋ฉด InnoDB ํ…Œ์ด๋ธ”์€ ํ”„๋ผ์ด๋จธ๋ฆฌ ํ‚ค๋ฅผ ์ฃผ์†Œ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  ๊ทธ๋ž˜์„œ InnoDB ํ…Œ์ด๋ธ”์—์„œ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ๋Š” MyISAM์„ ์ด์šฉํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋ฐ”๋กœ ์ฐพ์•„๊ฐ€์ง€ ๋ชปํ•œ๋‹ค. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—์„œ๋Š” ๋ชจ๋“  ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰์—์„œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ PK๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” B-Tree๋ฅผ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.

 

 

๐Ÿ“™ 3. B-Tree ์ธ๋ฑ์Šค ํ‚ค ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ, ๊ฒ€์ƒ‰

๐Ÿงฐ 1. ์ธ๋ฑ์Šค ํ‚ค ์ถ”๊ฐ€

  ์ƒˆ๋กœ์šด ํ‚ค ๊ฐ’์ด B-Tree์— ์ €์žฅ๋  ๋•Œ๋Š” ์ €์žฅ๋  ํ‚ค ๊ฐ’์„ ์ด์šฉํ•ด B-Tree ์ƒ์˜ ์ ์ ˆํ•œ ์œ„์น˜๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค. ์ €์žฅ๋  ์œ„์น˜๊ฐ€ ๊ฒฐ์ •๋˜๋ฉด ๋ ˆ์ฝ”๋“œ์˜ ํ‚ค ๊ฐ’๊ณผ ๋Œ€์ƒ ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ ์ •๋ณด๋ฅผ B-Tree์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์— ์ €์žฅํ•œ๋‹ค.

  ๋ฆฌํ”„ ๋…ธ๋“œ๊ฐ€ ๊ฝ‰ ์ฐจ์„œ ๋”๋Š” ์ €์žฅํ•  ์ˆ˜ ์—†์„ ๋Œ€๋Š” ๋ฆฌํ”„ ๋…ธ๋“œ๊ฐ€ ๋ถ„๋ฆฌ(Split)๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Š” ์ƒ์œ„ ๋ธŒ๋žœ์น˜ ๋…ธ๋“œ๊นŒ์ง€ ์ฒ˜๋ฆฌ์˜ ๋ฒ”์œ„๊ฐ€ ๋„“์–ด์ง„๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—… ํƒ“์— B-Tree๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์“ฐ๊ธฐ ์ž‘์—…(์ƒˆ๋กœ์šด ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…)์— ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์กŒ๋‹ค.

 

  ํ…Œ์ด๋ธ”์˜ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ํ‚ค ๊ฐ’์ด ์ฆ‰์‹œ ์ธ๋ฑ์Šค์— ์ €์žฅ๋  ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

  MyISAM์ด๋‚˜ MEMORY ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ด๋ธ”์—์„œ๋Š” INSERT ๋ฌธ์žฅ์ด ์‹คํ–‰๋˜๋ฉด ์ฆ‰์‹œ ์ƒˆ๋กœ์šด ํ‚ค ๊ฐ’์„ B-Tree ์ธ๋ฑ์Šค์— ๋ณ€๊ฒฝํ•œ๋‹ค. ํ•˜์ง€๋งŒ, InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์€ ์ด ์ž‘์—…์„ ์กฐ๊ธˆ ๋” ์ง€๋Šฅ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, ํ•„์š”ํ•˜๋‹ค๋ฉด ์ธ๋ฑ์Šค ํ‚ค ์ถ”๊ฐ€ ์ž‘์—…์„ ์ง€์—ฐ์‹œ์ผœ ๋‚˜์ค‘์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  ๊ทธ๋Ÿฌ๋‚˜ PK๋‚˜ ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ ์ค‘๋ณต ์ฒดํฌ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฆ‰์‹œ B-Tree์— ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•œ๋‹ค.

 

๐Ÿงฐ 2. ์ธ๋ฑ์Šค ํ‚ค ์‚ญ์ œ

  B-Tree์˜ ํ‚ค ๊ฐ’์ด ์‚ญ์ œ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์ƒ๋‹นํžˆ ๊ฐ„๋‹จํ•˜๋‹ค.

  ํ•ด๋‹น ํ‚ค ๊ฐ’์ด ์ €์žฅ๋œ B-Tree์˜ ๋ฆฌํ”„ ๋…ธ๋“œ๋ฅผ ์ฐพ์•„์„œ ๊ทธ๋ƒฅ ์‚ญ์ œ ๋งˆํฌ๋งŒ ํ•˜๋ฉด ์ž‘์—…์ด ์™„๋ฃŒ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์‚ญ์ œ ๋งˆํ‚น๋œ ์ธ๋ฑ์Šค ํ‚ค ๊ณต๊ฐ„์€ ๊ณ„์† ๊ทธ๋Œ€๋กœ ๋ฐฉ์น˜ํ•˜๊ฑฐ๋‚˜ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—์„œ๋Š” ์ด ์ž‘์—… ๋˜ํ•œ ๋ฒ„ํผ๋ง ๋˜์–ด ์ง€์—ฐ ์ฒ˜๋ฆฌ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

 

๐Ÿงฐ 3. ์ธ๋ฑ์Šค ํ‚ค ๋ณ€๊ฒฝ

  ์ธ๋ฑ์Šค์˜ ํ‚ค ๊ฐ’์€ ๊ทธ ๊ฐ’์— ๋”ฐ๋ผ ์ €์žฅ๋  ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ์œ„์น˜๊ฐ€ ๊ฒฐ์ •๋˜๋ฏ€๋กœ B-Tree์˜ ํ‚ค ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹จ์ˆœํžˆ ์ธ๋ฑ์Šค์ƒ์˜ ํ‚ค ๊ฐ’๋งŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

  B-Tree์˜ ํ‚ค ๊ฐ’ ๋ณ€๊ฒฝ ์ž‘์—…์€ ๋จผ์ € ํ‚ค ๊ฐ’์„ ์‚ญ์ œํ•œ ํ›„, ๋‹ค์‹œ ์ƒˆ๋กœ์šด ํ‚ค ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ๋Š” ์ด ์ž‘์—… ๋ชจ๋‘ ์ฒด์ธ์ง€ ๋ฒ„ํผ๋ฅผ ํ™œ์šฉํ•ด ์ง€์—ฐ ์ฒ˜๋ฆฌ ๋  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿงฐ 4. ์ธ๋ฑ์Šค ํ‚ค ๊ฒ€์ƒ‰

  ์ธ๋ฑ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ž‘์—…์€ B-Tree์˜ ๋ฃจํŠธ ๋…ธ๋“œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ธŒ๋žœ์น˜ ๋…ธ๋“œ๋ฅผ ๊ฑฐ์ณ ์ตœ์ข… ๋ฆฌํ”„ ๋…ธ๋“œ๊นŒ์ง€ ์ด๋™ํ•˜๋ฉด์„œ ๋น„๊ต ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ๊ณผ์ •์„ 'ํŠธ๋ฆฌ ํƒ์ƒ‰'์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

  B-Tree ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•œ ๊ฒ€์ƒ‰์€ 100% ์ผ์น˜ ๋˜๋Š” ๊ฐ’์˜ ์•ž๋ถ€๋ถ„(Left-most part)๋งŒ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ถ€๋“ฑํ˜ธ(<, >)๋น„๊ต ์กฐ๊ฑด์—์„œ๋„ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ‚ค ๊ฐ’์˜ ๋’ท๋ถ€๋ถ„๋งŒ ๊ฒ€์ƒ‰ํ•˜๋Š” ์šฉ๋„๋กœ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

  ๋˜ํ•œ, ์ธ๋ฑ์Šค์˜ ํ‚ค ๊ฐ’์— ๋ณ€ํ˜•์ด ๊ฐ€ํ•ด์ง„ ํ›„ ๋น„๊ต๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ ˆ๋Œ€ B-Tree์˜ ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋ฏธ ๋ณ€ํ˜•๋œ ๊ฐ’์€ B-Tree ์ธ๋ฑ์Šค์— ์กด์žฌํ•˜๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋‹ค.

  ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋‚˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋กœ ์ •๋ ฌํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•˜๋Š” ์ž‘์—…์€ B-Tree์˜ ์žฅ์ ์„ ์ด์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

 

 

๐Ÿ“™ 4. B-Tree ์ธ๋ฑ์Šค ์‚ฌ์šฉ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์š”์†Œ

๐Ÿงฐ 1. ์ธ๋ฑ์Šค ํ‚ค ๊ฐ’์˜ ํฌ๊ธฐ

  InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์€ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ ๋‹จ์œ„๋ฅผ ํŽ˜์ด์ง€(Page) ๋˜๋Š” ๋ธ”๋ก(Block)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋””์Šคํฌ์˜ ๋ชจ๋“  ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์ตœ์†Œ ์ž‘์—… ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค.

  ๋˜ํ•œ ํŽ˜์ด์ง€๋Š” InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ๋ฒ„ํผ ํ’€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ๋ง ํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ด๊ธฐ๋„ ํ•˜๋‹ค. ์ธ๋ฑ์Šค๋„ ๊ฒฐ๊ตญ์€ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌ๋˜๋ฉฐ, '๋ฃจํŠธ ๋…ธ๋“œ, ๋ธŒ๋žœ์น˜ ๋…ธ๋“œ, ๋ฆฌํ”„ ๋…ธ๋“œ'๋ฅผ ๊ตฌ๋ถ„ํ•œ ๊ธฐ์ค€์ด ๋ฐ”๋กœ ํŽ˜์ด์ง€ ๋‹จ์œ„๋‹ค.

 

  B-Tree์˜ ์ž์‹ ๋…ธ๋“œ ๊ฐœ์ˆ˜๋Š” ์ธ๋ฑ์Šค์˜ ํŽ˜์ด์ง€ ํฌ๊ธฐ์™€ ํ‚ค ๊ฐ’์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ํŽ˜์ด์ง€ ํฌ๊ธฐ์˜ ๊ฐ’์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ๊ฐ’์€ 16KB์ด๋‹ค.

  ํŽ˜์ด์ง€ ํฌ๊ธฐ์˜ ๊ธฐ๋ณธ๊ฐ’(16KB), ์ธ๋ฑ์Šค์˜ ํ‚ค(16๋ฐ”์ดํŠธ), ์ž์‹ ๋…ธ๋“œ ์ฃผ์†Œ ์˜์—ญ(12๋ฐ”์ดํŠธ)์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€์—๋Š” 585๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

( ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€ / {(์ธ๋ฑ์Šค ํ‚ค) + (์ž์‹ ๋…ธ๋“œ ์ฃผ์†Œ ์˜์—ญ)} = 585 )

(16 x 1024 / (16 + 12) = 585)

 

  ํ‚ค ๊ฐ’์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜๋ฉด ๋‹น์—ฐํžˆ ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž์‹ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ค„์–ด๋“ ๋‹ค. ๊ฒฐ๊ตญ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ‚ค ๊ฐ’์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฉด ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์ฝ์–ดํ– ํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ , ๊ทธ๋งŒํผ ๋А๋ ค์ง€๊ฒŒ ๋œ๋‹ค.

 

  ๋˜ํ•œ, ์ธ๋ฑ์Šค์˜ ํ‚ค ๊ฐ’์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์€ ์ „์ฒด์ ์ธ ์ธ๋ฑ์Šค์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์บ์‹œํ•ด ๋‘๋Š” InnoDB์˜ ๋ฒ„ํผ ํ’€์ด๋‚˜ MyISAM์˜ ํ‚ค ์บ์‹œ ์˜์—ญ์€ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์ ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ธ๋ฑ์Šค์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œ ํ•ด๋‘˜ ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ฝ”๋“œ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค๊ณ , ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์ž์—ฐํžˆ ๋ฉ”๋ชจ๋ฆฌ์˜ ํšจ์œจ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

๐Ÿงฐ 2. B-Tree์˜ ๊นŠ์ด

  B-Tree ์ธ๋ฑ์Šค์˜ ๊นŠ์ด(Depth)๋Š” ์ƒ๋‹นํžˆ ์ค‘์š”ํ•˜์ง€๋งŒ ์ง์ ‘ ์ œ์–ดํ•  ๋ฐฉ๋ฒ•์€ ์—†๋‹ค. ์ธ๋ฑ์Šค์˜ ํ‚ค ๊ฐ’์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฉด ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๊ฐ€ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ธ๋ฑ์Šค ํ‚ค ๊ฐ’์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ์–ด์ง„๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ™์€ ๋ ˆ์ฝ”๋“œ ๊ฑด์ˆ˜๋ผ ํ•˜๋”๋ผ๋„ B-Tree์˜ ๊นŠ์ด๊ฐ€ ๊นŠ์–ด์ ธ์„œ ๋””์Šคํฌ ์ฝ๊ธฐ๊ฐ€ ๋” ๋งŽ์ด ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค.

(ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€์— 585๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, B-Tree์˜ ๊นŠ์ด๊ฐ€ 3์ด๋ฉด '585 x 585 x 585 = ์ตœ๋Œ€ 2์–ต'๊ฐœ์˜ ํ‚ค ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด์—, ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€์— 372๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, B-Tree์˜ ๊นŠ์ด๊ฐ€ 3์ด๋ฉด '372 x 372 x 372 = ์ตœ๋Œ€ 5์ฒœ'๊ฐœ์˜ ํ‚ค ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.)

 

๐Ÿงฐ 3. ์„ ํƒ๋„(๊ธฐ์ˆ˜์„ฑ)

  ์ธ๋ฑ์Šค์—์„œ ์„ ํƒ๋„(Selectivity) ๋˜๋Š” ๊ธฐ์ˆ˜์„ฑ(Cardinality)์€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ชจ๋“  ์ธ๋ฑ์Šค ํ‚ค ๊ฐ’ ๊ฐ€์šด๋ฐ ์œ ๋‹ˆํฌํ•œ ๊ฐ’์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ „์ฒด ์ธ๋ฑ์Šค ํ‚ค ๊ฐ’์€ 100์ธ๋ฐ, ๊ทธ์ค‘์—์„œ ์œ ๋‹ˆํฌํ•œ ๊ฐ’์˜ ์ˆ˜๊ฐ€ 10๊ฐœ๋ผ๋ฉด ๊ธฐ์ˆ˜์„ฑ์€ 10์ด๋‹ค.

  ์ธ๋ฑ์Šค ํ‚ค ๊ฐ’ ๊ฐ€์šด๋ฐ ์ค‘๋ณต๋œ ๊ฐ’์ด ๋งŽ์•„์ง€๋ฉด ๋งŽ์•„์งˆ์ˆ˜๋ก ๊ธฐ์ˆ˜์„ฑ์€ ๋‚ฎ์•„์ง€๊ณ  ๋™์‹œ์— ์„ ํƒ๋„ ๋˜ํ•œ ๋–จ์–ด์ง„๋‹ค. ์ธ๋ฑ์Šค๋Š” ์„ ํƒ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ๊ฒ€์ƒ‰ ๋Œ€์ƒ์ด ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋งŒํผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

๐Ÿงฐ 4. ์ฝ์–ด์•ผ ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์˜ ๊ฑด์ˆ˜

  ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ๊ฒƒ์€ ์ธ๋ฑ์Šค๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ๋†’์€ ๋น„์šฉ์ด ๋“œ๋Š” ์ž‘์—…์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ DBMS์˜ ์˜ตํ‹ฐ๋งˆ์ด์ €์—์„œ๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ ˆ์ฝ”๋“œ 1๊ฑด์„ ์ฝ๋Š” ๊ฒƒ์ด ํ…Œ์ด๋ธ”์—์„œ ์ง์ ‘ ๋ ˆ์ฝ”๋“œ 1๊ฑด์„ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค 4~5๋ฐฐ ์ •๋„ ๋น„์šฉ์ด ๋” ๋งŽ์ด ๋“œ๋Š” ์ž‘์—…์ธ ๊ฒƒ์œผ๋กœ ์˜ˆ์ธกํ•œ๋‹ค.

  ๊ทธ๋ž˜์„œ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ฝ์–ด์•ผ ํ•  ๋ ˆ์ฝ”๋“œ์˜ ๊ฑด์ˆ˜๊ฐ€ ์ „์ฒด ํ…Œ์ด๋ธ” ๋ ˆ์ฝ”๋“œ์˜ 20~25%๋ฅผ ๋„˜์–ด์„œ๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ํ…Œ์ด๋ธ”์„ ๋ชจ๋‘ ์ง์ ‘ ์ฝ์–ด์„œ ํ•„์š”ํ•œ ๋ ˆ์ฝ”๋“œ๋งŒ ๊ฐ€๋ ค๋‚ด๋Š”(ํ•„ํ„ฐ๋ง) ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค.

 

 

ํ•ด๋‹น ๊ธ€์€ ๋ฐฑ์€๋นˆ, ์ด์„ฑ์šฑ ๋‹˜์˜ 'Real MySQL 8.0'์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

'๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค > ๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MySQL์˜ ์ „์ฒด ๊ตฌ์กฐ & ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ตฌ์กฐ  (0) 2023.06.18
ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ (Transaction Isolation Level)  (1) 2023.06.18
ํŠธ๋žœ์žญ์…˜(Transaction)  (0) 2023.06.17
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ‚ค(Key) ๊ฐœ๋… & ํ‚ค(Key) ์ข…๋ฅ˜  (0) 2023.06.13
์„œ๋ธŒ์ฟผ๋ฆฌ(Subquery)  (0) 2023.04.18
    '๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • MySQL์˜ ์ „์ฒด ๊ตฌ์กฐ & ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ตฌ์กฐ
    • ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ (Transaction Isolation Level)
    • ํŠธ๋žœ์žญ์…˜(Transaction)
    • [DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ‚ค(Key) ๊ฐœ๋… & ํ‚ค(Key) ์ข…๋ฅ˜
    Amenable
    Amenable
    CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”