Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

MySQL ์„ฑ๋Šฅ ์ตœ์ ํ™”

๋ผ์ธ, ๊ตฌ๊ธ€, ๋‹น๊ทผ, ์นด์นด์˜ค ๋“ฑ์˜ ํšŒ์‚ฌ์—์„œ ์‹ค์ œ๋กœ MySQL ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ ์‚ฌ๋ก€๋“ค์„ ๋ฐฐ์›Œ๋ณผ๊ฑฐ์—์š”. ๋‹จ์ˆœํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€์ด๋“œ๋ฅผ ๋– ๋‚˜์„œ MySQL ์˜ ๋‚ด๋ถ€ ๋™์ž‘์„ ์ดํ•ดํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์‹ค์ œ ์„ฑ๋Šฅ ๊ฐœ์„  ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” MySQL ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€์ด๋“œ

  • MySQL ๋‚ด๋ถ€๋™์ž‘๊ณผ ์›๋ฆฌ

  • ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ์ตœ์ ํ™”

  • ๋ณต์žกํ•œ ์ธ๋ฑ์Šค ์„ค๊ณ„

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์›Œ๋ณผ๊ฑฐ์—์š” ๐Ÿง

  • Multiple-Column Indexes For Optimization

  • Covering Index For Optimization

  • ORDER BY Optimization

  • INSERT Optimization

  • Auto Increment Lock Mode Optimization

  • Index Dive Optimizaiton

  • Prefix Index Optimization

  • InnoDB Deadlock Detect Optimization

  • NoOffset Optimization

  • SELECT FOR UPDATE SKIP LOCKED Optimization

  • InnoDB Buffer Pool Optimization

  • InnoDB Buffer Pool Flushing Optimization

  • Redo log/InnoDB log file size Optimization


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์ด ์ˆ˜๋ฐฑ๋ฐฐ๊นŒ์ง€ ์ฐจ์ด๊ฐ€ ๋‚  ์ˆ˜ ์žˆ์–ด์š”!

MySQL ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฐ€์ด๋“œ: ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜ ์ฝ”์Šค

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

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

๊ฐ•์˜์˜ ํŠน์ง•:

  1. ์‹ค์šฉ์  ์ ‘๊ทผ๋ฒ•: ์ด๋ก ์ ์ธ ๋ฐฐ๊ฒฝ๋ณด๋‹ค๋Š” ์‹ค์ œ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.


  2. ์‚ฌ๋ก€ ์—ฐ๊ตฌ์™€ ์‹ค์Šต: ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์‹ค์Šต์„ ํ†ตํ•ด ์ด๋ก ์„ ์‹ค์ œ ์ƒํ™ฉ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

  3. ์ตœ์‹  ๋™ํ–ฅ๊ณผ ์—…๋ฐ์ดํŠธ: MySQL์˜ ์ตœ์‹  ๋ฒ„์ „๊ณผ ๊ด€๋ จ๋œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ๋‹ค๋ฃจ์–ด, ์ตœ์‹  ๊ธฐ์ˆ  ๋™ํ–ฅ์„ ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€๋“œ๋ฆฝ๋‹ˆ๋‹ค.

  4. ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ํŠœ๋‹: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๊ณ  ํŠœ๋‹ํ•˜๋Š” ์‹ค์งˆ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์€ ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

  • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๊ณ  ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‘๋‹ต ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ต๋‹ˆ๋‹ค.

  • ์‹ค์‹œ๊ฐ„์œผ๋กœ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๊ณ  ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘๐Ÿป

DALLยทE 2023-12-07 03.41.15 - A minimalist and abstract representation of a university computer science student. The image features a simplified human figure, depicted in a stylize

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

์ทจ์—…์„ ์ค€๋น„ํ•˜๋Š” ํ•™์ƒ๋“ค

DALLยทE 2023-12-07 03.45.59 - A minimalist and abstract representation of a developer working in an office. The image features a simplified human figure, depicted in a stylized man

MySQL ์„ ์‹ค๋ฌด์—์„œ

์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋ถ„

DALLยทE 2023-12-07 03.49.12 - A minimalist and abstract representation of a curious person. The image features a simplified human figure, depicted in a stylized manner to convey th

MySQL ๋‚ด๋ถ€ ๋™์ž‘์ด

๊ถ๊ธˆํ•œ ๊ฐœ๋ฐœ์ž ๋ถ„

์ด๋ ‡๊ฒŒ ๊ณต๋ถ€ํ•ด๋ณด์„ธ์š” ๐Ÿ“–

๊ตฐ๋”๋”๊ธฐ ์—†์ด ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ ์œ„์ฃผ๋กœ ์ปดํŒฉํŠธํ•œ ๊ฐ•์˜๋ฅผ ์„ค๊ณ„ํ–ˆ์–ด์š”. ๊ฐ•์˜๋ฅผ ๋“ค์€ ํ›„ ์ˆ˜์—… ๋…ธํŠธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ MySQL ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฝ์–ด๋ณด๋Š” ์ถ”๊ฐ€์ ์ธ ํ•™์Šต์„ ํ†ตํ•œ ๊นŠ์€ ์ดํ•ด๋ฅผ ํ•˜์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•œ ์ ์€ Q&A ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ด์šฉํ•ด์ฃผ์„ธ์š”.

์ง€์†์ ์œผ๋กœ ์ƒˆ๋กœ์šด ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” ๐Ÿ‘๐Ÿป
๋…นํ™” ํ™˜๊ฒฝ ์ƒ ์ˆ˜์—…์˜์ƒ ๋ณผ๋ฅจ์ด ์ž‘์€ ํŽธ์ž…๋‹ˆ๋‹ค. ์ˆ˜๊ฐ• ์ „ [๋ฏธ๋ฆฌ๋ณด๊ธฐ] ์˜์ƒ์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” ๐Ÿ™‚

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): macOS Ventura 13.4

  • ์‚ฌ์šฉ ๋„๊ตฌ: PyCharm, Datagrip, Docker, MySQL 8.2.0


ํ•™์Šต ์ž๋ฃŒ

  • ๊ฐ•์˜ PDF ํŒŒ์ผ๊ณผ, ์‹ค์Šต์— ์‚ฌ์šฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์™€ ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ํ•™์Šต์ž๋ฃŒ ์ด์™ธ์— ์ˆ˜์—…๋…ธํŠธ์— MySQL ๊ณต์‹ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฒจ๋ถ€ํ•ด๋‘์—ˆ์–ด์š”.


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • MySQL ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž

  • MySQL ์„ฑ๋Šฅ์„ ์˜ฌ๋ ค์•ผํ•˜๋Š” ๊ฐœ๋ฐœ์ž

  • ๋ฐฑ์—”๋“œ ์ทจ์—…์„ ํฌ๋งํ•˜๋Š” ํ•™์ƒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • SQL ์— ๋Œ€ํ•œ ์ดํ•ด

  • MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  • ๊ธฐ๋ณธ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์‹

์•ˆ๋…•ํ•˜์„ธ์š”
์—ฌ์ •๋ฏผ์ž…๋‹ˆ๋‹ค.

822

๋ช…

์ˆ˜๊ฐ•์ƒ

35

๊ฐœ

์ˆ˜๊ฐ•ํ‰

37

๊ฐœ

๋‹ต๋ณ€

4.6

์ 

๊ฐ•์˜ ํ‰์ 

3

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”.

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฉด์„œ ๊ต์œก์ž๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ๋งŒ๋“ค ๋• ํ•„์š”ํ•œ ์ง€์‹๊ณผ ๊ธฐ์ˆ ์„ ๊ตฐ๋”๋”๊ธฐ ์—†์ด ์ „๋‹ฌํ•˜๋Š” ์ •๋ณด ๋ฐ€๋„ ๋†’์€ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๊ด€์‹ฌ์žˆ๋Š” ๋ถ„์•ผ, ์ •๋ง ์˜๋ฏธ ์žˆ๋‹ค๊ณ  ๋ฏฟ๋Š” ์˜์—ญ์—๋งŒ ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค๋ฉฐ, ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜๋Š” ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋กœ ์ปค๋ฆฌ์–ด๋ฆฌ์—์„œ๋„ ์œ ์šฉํ•œ ๊ธ€๋“ค์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

- (ๅ‰) ์นด์นด์˜ค์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด

- (ๅ‰) ์นด์นด์˜ค Ground X ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

26๊ฐœ โˆ™ (1์‹œ๊ฐ„ 25๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!