book-kitty / real-mysql-1

realmysql 8.0 1๊ถŒ ์Šคํ„ฐ๋””
3 stars 4 forks source link

2023.01.24 ๋ฌธ์ œ ๋ชฉ๋ก (ch05) #13

Open sedin2 opened 1 year ago

sedin2 commented 1 year ago

๐Ÿ“Œ ๋ฌธ์ œ๋ชฉ๋ก

๋ฒˆํ˜ธ ์ถœ์ œ์ž ๋ฌธ์ œ
1. ramirami MySQL์˜ ์ž ๊ธˆ ์ค‘, ๋„ค์ž„๋“œ๋ฝ๋งŒ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
2. ramirami REPEATABLE READ ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„  ์™œ NON-REPEATABLE READ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฑด๊ฐ€์š”?
3. ramirami index lock์€ update ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ๋งค๋ฒˆ ํ•„์ˆ˜์ ์œผ๋กœ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”?
4. giibeom ์ž๋™ ์ฆ๊ฐ€ ๋ฝ์€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ์ž ๊ธˆ์ธ๊ฐ€์š”?
5. giibeom ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„œ READ_COMMITTED ๋ชจ๋“œ์™€ REPEATABLE_READ ๋ชจ๋“œ์— ์ฐจ์ด์ ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
6. giibeom REPEATABLE_READ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ์˜ˆ์‹œ(181์ชฝ, 182์ชฝ)๋ฅผ ํ™œ์šฉํ•œ QUIZ (์Šคํ„ฐ๋”” ๋•Œ ๊ณต๊ฐœ)
------------------------------------------------------------------------------------------------------------
๋งŒ์•ฝ 181์ชฝ ๊ทธ๋ฆผ์—์„œ๋Š” 10๋ฒˆ์—์„œ SELECT ๊ฑธ๊ณ  12๋ฒˆ์ด ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ ํŠธ๋žœ์žญ์…˜ ๋ฒˆํ˜ธ๊ฐ€ ์•ž์ด๋‹ˆ๊นŒ ๊ทธ๋Œ€๋กœ ์•„๊นŒ์˜ SELECT๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜จ๋‹ค
๊ทธ๋ ‡๋‹ค๋ฉด ์ค‘๊ฐ„์— 8๋ฒˆ ํŠธ๋žœ์žญ์…˜์ด ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ์—๋Š” 10๋ฒˆ ํŠธ๋žœ์žญ์…˜์˜ SELECT ๋ฌธ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ ๊นŒ?
7. ZooKong ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋งŽ์€ ์–‘์˜ Insert๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์ž‘์—… ๊ณ„ํš๊ณผ ๊ฐ ๋‹จ๊ณ„๋ณ„ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
8. ZooKong ํŠธ๋žœ์žญ์…˜ ์„ค๊ณ„์‹œ์— ์ฃผ์˜ํ•  ์ ์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€์™€ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
9. sedin2 ๋ ˆ์ฝ”๋“œ ๋ฝ(Record Lock), ๊ฐญ ๋ฝ(Gap Lock), ๋„ฅ์ŠคํŠธ ํ‚ค ๋ฝ(Next Key Lock)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”
10. sedin2 InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ REPEATABLE-READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„  PHANTOM-READ ๋ถ€์ •ํ•ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ด๊ฒŒ ๊ฐ€๋Šฅ ํ• ๊นŒ์š”?
11. sedin2 ๋„ค์ž„๋“œ ๋ฝ(Named Lock)์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”
zookong commented 1 year ago

1. MySQL์˜ ์ž ๊ธˆ ์ค‘, ๋„ค์ž„๋“œ๋ฝ๋งŒ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

2. REPEATABLE READ ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„  ์™œ NON-REPEATABLE READ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฑด๊ฐ€์š”?

3. index lock์€ update ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ๋งค๋ฒˆ ํ•„์ˆ˜์ ์œผ๋กœ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”?

4. ์ž๋™ ์ฆ๊ฐ€ ๋ฝ์€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ์ž ๊ธˆ์ธ๊ฐ€์š”?

5. ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„œ READ_COMMITTED ๋ชจ๋“œ์™€ REPEATABLE_READ ๋ชจ๋“œ์— ์ฐจ์ด์ ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

6. REPEATABLE_READ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ์˜ˆ์‹œ(181์ชฝ, 182์ชฝ)๋ฅผ ํ™œ์šฉํ•œ QUIZ (์Šคํ„ฐ๋”” ๋•Œ ๊ณต๊ฐœ)

7. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋งŽ์€ ์–‘์˜ Insert๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์ž‘์—… ๊ณ„ํš๊ณผ ๊ฐ ๋‹จ๊ณ„๋ณ„ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

8. ํŠธ๋žœ์žญ์…˜ ์„ค๊ณ„์‹œ์— ์ฃผ์˜ํ•  ์ ์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€์™€ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

9. ๋ ˆ์ฝ”๋“œ ๋ฝ(Record Lock), ๊ฐญ ๋ฝ(Gap Lock), ๋„ฅ์ŠคํŠธ ํ‚ค ๋ฝ(Next Key Lock)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”

10. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ REPEATABLE-READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„  PHANTOM-READ ๋ถ€์ •ํ•ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ด๊ฒŒ ๊ฐ€๋Šฅ ํ• ๊นŒ์š”?

11. ๋„ค์ž„๋“œ ๋ฝ(Named Lock)์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”

sedin2 commented 1 year ago

1. MySQL์˜ ์ž ๊ธˆ ์ค‘, ๋„ค์ž„๋“œ๋ฝ๋งŒ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

gzgzg2 commented 1 year ago

1. MySQL์˜ ์ž ๊ธˆ ์ค‘, ๋„ค์ž„๋“œ๋ฝ๋งŒ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

  1. REPEATABLE READ ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„  ์™œ NON-REPEATABLE READ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฑด๊ฐ€์š”?
  1. index lock์€ update ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ๋งค๋ฒˆ ํ•„์ˆ˜์ ์œผ๋กœ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”?
  1. ์ž๋™ ์ฆ๊ฐ€ ๋ฝ์€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ์ž ๊ธˆ์ธ๊ฐ€์š”?
  1. ๊ฒฉ๋ฆฌ์ˆ˜์ค€์—์„œ READ_COMMITTED ๋ชจ๋“œ์™€ REPEATABLE_READ ๋ชจ๋“œ์— ์ฐจ์ด์ ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  1. REPEATABLE_READ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ์˜ˆ์‹œ(181์ชฝ, 182์ชฝ)๋ฅผ ํ™œ์šฉํ•œ QUIZ (์Šคํ„ฐ๋”” ๋•Œ ๊ณต๊ฐœ)
  1. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋งŽ์€ ์–‘์˜ Insert๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์ž‘์—… ๊ณ„ํš๊ณผ ๊ฐ ๋‹จ๊ณ„๋ณ„ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  1. ํŠธ๋žœ์žญ์…˜ ์„ค๊ณ„์‹œ์— ์ฃผ์˜ํ•  ์ ์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€์™€ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  1. ๋ ˆ์ฝ”๋“œ ๋ฝ(Record Lock), ๊ฐญ ๋ฝ(Gap Lock), ๋„ฅ์ŠคํŠธ ํ‚ค ๋ฝ(Next Key Lock)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”
  1. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ REPEATABLE-READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„  PHANTOM-READ ๋ถ€์ •ํ•ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ด๊ฒŒ ๊ฐ€๋Šฅ ํ• ๊นŒ์š”?
  1. ๋„ค์ž„๋“œ ๋ฝ(Named Lock)์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”
giibeom commented 1 year ago

1. MySQL์˜ ์ž ๊ธˆ ์ค‘, ๋„ค์ž„๋“œ๋ฝ๋งŒ ๋ถ„์‚ฐ๋ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

--- ์ด๊ฒŒ ๋ฌด์—‡์ด๋žŒ

2. REPEATABLE READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„  ์™œ NON-REPEATABLE READ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฑด๊ฐ€์š”?


3. index lock์€ update ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ๋งค๋ฒˆ ํ•„์ˆ˜์ ์œผ๋กœ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€์š”?


4. ์ž๋™ ์ฆ๊ฐ€ ๋ฝ์€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ์ž ๊ธˆ์ธ๊ฐ€์š”?


5. ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„œ READ_COMMITTED ๋ชจ๋“œ์™€ REPEATABLE_READ ๋ชจ๋“œ์— ์ฐจ์ด์ ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”


6. REPEATABLE_READ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ์˜ˆ์‹œ(181์ชฝ, 182์ชฝ)๋ฅผ ํ™œ์šฉํ•œ QUIZ (์Šคํ„ฐ๋”” ๋•Œ ๊ณต๊ฐœ)


7. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋งŽ์€ ์–‘์˜ Insert๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ, ์ž‘์—… ๊ณ„ํš๊ณผ ๊ฐ ๋‹จ๊ณ„๋ณ„ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”


8. ํŠธ๋žœ์žญ์…˜ ์„ค๊ณ„์‹œ์— ์ฃผ์˜ํ•  ์ ์ด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€์™€ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”


9. ๋ ˆ์ฝ”๋“œ ๋ฝ(Record Lock), ๊ฐญ ๋ฝ(Gap Lock), ๋„ฅ์ŠคํŠธ ํ‚ค ๋ฝ(Next Key Lock)์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”


10. InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ REPEATABLE-READ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์—์„  PHANTOM-READ ๋ถ€์ •ํ•ฉ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ด๊ฒŒ ๊ฐ€๋Šฅ ํ• ๊นŒ์š”?


11. ๋„ค์ž„๋“œ ๋ฝ(Named Lock)์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด ์ฃผ์„ธ์š”

giibeom commented 1 year ago

์Šคํ„ฐ๋”” ํ›„ ์ž”์—ฌ ๊ถ๊ธˆ์ฆ (๊ณตํ†ต)

  1. PK ๋˜๋Š” ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์— ์˜ํ•œ ๋ณ€๊ฒฝ ์ž‘์—…์€ ๋”ฑ ๋ ˆ์ฝ”๋“œ ๊ทธ ์ž์ฒด์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฝ์„ ๊ฑฐ๋Š”์ง€?
  2. SELECT .... FROM UPDATE ํ• ๋•Œ "ํ˜„์žฌ" ๋ ˆ์ฝ”๋“œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๊ฑด์ง€?

Reference