MySQL 5

[MySQL] ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ์ „ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

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

DB/MySQL 2024.11.30

[MySQL] MySQL ๋ฝ

DB์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋˜ ์ค‘, ๋ฌธ๋“ ์ด๋•Œ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‹จ ํ•œ๋ฒˆ๋„ DB์—์„œ ์ผ์–ด๋‚˜๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•ด๋ณธ์ ์ด ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” DB ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•  ๊ฒƒ์ด๋ฉฐ ๋จผ์ € ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ž์ฃผ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ธ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€๊ณผ MySQL ๋ฝ์— ๊ด€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ด ๊ธ€์€ ๋Œ€๋ถ€๋ถ„ ์ €์˜ ๊ธฐ์–ต์„ ์ƒ๊ธฐํ•˜์—ฌ ์งง๊ฒŒ ์“ด ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด MySQL ๋„ํ๋จผํŠธ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.    MySQL์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฝ์€ ํฌ๊ฒŒ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ๋ ˆ๋ฒจ๊ณผ MySQL ์—”์ง„ ๋ ˆ๋ฒจ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ๋ ˆ๋ฒจ์˜ ์ž ๊ธˆ์€ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋ฝ์ด๋ฉฐ, MySQL ์—”์ง„ ๋ ˆ๋ฒจ์˜ ์ž ๊ธˆ์€ ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์„ ์œ„ํ•œ ๋ฝ์— ํ•ด๋‹นํ•œ๋‹ค.  โ˜‘๏ธ InnoD..

DB/MySQL 2024.04.06

[MySQL] InnoDB ๋ฒ„ํผ ํ’€

๋ฒ„ํผ ํ’€์€ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ์™€ ์ธ๋ฑ์Šค๋ฅผ ์บ์‹œํ•˜๋Š” ์—ญํ• ๊ณผ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ง€์—ฐ์‹œ์ผœ ์ผ๊ด„์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ฟผ๋ฆฌ๋Š” ๋žœ๋คํ•œ ๋””์Šคํฌ ์ž‘์—…์„ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„ํผ ํ’€์ด ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด ๋žœ๋คํ•œ ๋””์Šคํฌ ์ž‘์—…์˜ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.๊ทธ ๋ฐ–์—๋„ InnoDB์˜ ๋ฒ„ํผ ํ’€์€ ๋งŽ์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๊ณต๊ฐ„์ด๋‹ค. ๋ฒ„ํผ ํ’€์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ์œ„์น˜ํ•˜๋ฉฐ ํฌ๊ฒŒ ๋””์Šคํฌ์—์„œ ์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ์™€ ์ธ๋ฑ์Šค๋ฅผ ์บ์‹œํ•ด๋‘๋Š” '๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ ๋ฒ„ํผ'์™€ MVCC๋ฅผ ์œ„ํ•œ '์–ธ๋‘ ๋กœ๊ทธ', ์ธ๋ฑ์Šค ์—…๋ฐ์ดํŠธ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ '์ธ์„œํŠธ(์ฒด์ธ์ง€) ๋ฒ„ํผ'๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.๋ฒ„ํผ ํ’€ ์ž์ฒด๋Š” ์„ธ๋งˆํฌ์–ด๋กœ ๊ด€๋ฆฌ๋˜๋ฉฐ ๊ธฐ์กด 1๊ฐœ์˜ ์ธ์Šคํ„ด์Šค์—์„œ, ์ตœ๊ทผ์—๋Š” ๊ธฐ๋ณธ 8๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ง€์›ํ•œ๋‹ค.    โ˜‘๏ธ ๋ฒ„ํผ ํ’€ ํŽ˜์ด์ง€ ์ €์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜..

DB/MySQL 2024.04.04

[MySQL] MySQL ์•„ํ‚คํ…์ฒ˜

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

DB/MySQL 2024.04.01

[Spring] ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ ๊ฐœ์„ 

์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์€ ์ฟผ๋ฆฌ๋ฌธ ๋‚ด์—์„œ Join๋ฌธ๊ณผ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ „๋ถ€์ธ์ค„ ์•Œ์•˜๋˜ ๋‚˜...์ด๋ฒˆ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ†ตํ•ด ์ธ๋ฑ์Šค ์ตœ์ ํ™”, ์ƒค๋”ฉ, ํŒŒํ‹ฐ์…”๋‹, ์บ์‹ฑ, ์ •๊ทœํ™”์™€ ๋น„์ •๊ทœํ™” ๋“ฑ ์ •๋ง ๋งŽ์€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์ฟผ๋ฆฌ ๊ฐœ์„ ์— ํฅ๋ฏธ๊ฐ€ ๋ถ™๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด๋ฒˆ ์„ฑ๋Šฅ ๊ฐœ์„ ์—์„œ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•์€ ์ธ๋ฑ์Šค ์ตœ์ ํ™”์ด๋‹ค.๋จผ์ € ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ๊ฐœ๋…๋“ค์„ ์งš๊ณ  ๋„˜์–ด๊ฐ€์ž๊ฐœ์„ ํ•˜๊ณ ์ž ํ•˜๋Š” API๋Š” 'ํ•„๋“œ' ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•˜๋Š” ํŽ˜์ด์ง• API์ด๋‹ค. ํ•ด๋‹น API๋Š” Count ์ฟผ๋ฆฌ์™€ ์ผ๋ฐ˜ ์กฐํšŒ ์ฟผ๋ฆฌ, ์ด 2๊ฐœ์˜ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.   โ˜‘๏ธ ์กฐํšŒ ์ฟผ๋ฆฌ 1๏ธโƒฃ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค ์‚ฌ์šฉ๋จผ์ € ์ฟผ๋ฆฌ ๊ฐœ์„ ์„ ์œ„ํ•ด์„œ๋Š” ์‹คํ–‰๊ณ„ํš์„ ํ†ตํ•ด ์ฟผ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•ด์•ผํ•œ๋‹ค.  type - ALL : ์ธ๋ฑ์Šค๋ฅผ ํƒ€์ง€ ์•Š์€ ํ…Œ์ด๋ธ” ํ’€์Šค์บ”์„ ์˜๋ฏธํ•œ๋‹ค..

DB/MySQL 2024.02.29