[Book] Real MySQL 8.0 1๊ถŒ ๋ฆฌ๋ทฐ

realmysql 1

๐Ÿ“š ์ฑ…์„ ์ฝ๊ฒŒ ๋œ ๊ณ„๊ธฐ

์ž‘๋…„ ํ•˜๋ฐ˜๊ธฐ๋ถ€ํ„ฐ ์Šคํ”„๋ง์œผ๋กœ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์— ํˆฌ์ž…๋˜์—ˆ๋‹ค. ์ดํ›„๋กœ ์•ฑ ๊ฐœ๋ฐœ๊ณผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ 2:8 ์ •๋„๋กœ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”๊ฒƒ ๊ฐ™๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์‹œ ๋กœ์ปฌ ๋””๋น„๋ฅผ ์‚ฌ์šฉํ• ๋•Œ๋Š SQLite๋ฅผ ์ถ”์ƒํ™”ํ•œ RoomDB๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ์Šคํ”„๋ง ์„œ๋ฒ„ ๊ฐœ๋ฐœ์‹œ JPA๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฒฐ๊ตญ ์•ฑ์ด๋˜ ์„œ๋ฒ„๋“  ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•œ๋‹ค๋ฉด ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ORM์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ORM ์‚ฌ์šฉ ์‹œ ์ž์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ DBMS์˜ ์ธํ„ฐ๋ ‰์…˜์€ ๋ธ”๋ž™๋ฐ•์Šค์ด๋‹ค. ๊ฒฐ๊ตญ ORM์„ ์ž˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์šฉํ•˜๋Š” DBMS๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๊ณ , ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ฟผ๋ฆฌ๋‚˜, ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ์ˆ˜ ์žˆ๋Š”์ง€ ์•„๋Š”๊ฒƒ์ด ํ•„์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ํŒ€์—์„œ๋Š” RDB๋กœ MySQL์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ํŒ€ ๋‚ด์—์„œ ๊พธ์ค€ํ•˜๊ฒŒ ํ•˜๊ณ  ์žˆ๋Š” ์Šคํ„ฐ๋””์—์„œ๋„ ๊ณต๊ฐ๋Œ€๊ฐ€ ํ˜•์„ฑ๋˜์–ด ์ด ์ฑ…์„ ์Šคํ„ฐ๋””ํ•˜๊ณ  ์ฝ๊ฒŒ ๋˜์—ˆ๋‹ค.

๐Ÿ’ก์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ

4์žฅ ์•„ํ‚คํ…์ฒ˜

  • MySQL์˜ ์—”์ง„ ์•„ํ‚คํ…์ฒ˜์™€ InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด์„œ ์•Œ์ˆ˜ ์žˆ๋‹ค. InnoDB๋Š” MySQL์—์„œ ๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ด๋‹ค.
  • InnoDB๋Š” ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜์ด ์•„๋‹Œ ๋ ˆ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์ž ๊ธˆ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋†’์€ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์™€ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•œ๋‹ค
  • ์“ฐ๊ธฐ ์ž‘์—…์„ ์ง€์—ฐํ•˜๊ณ , ๋””์Šคํฌ ์ž‘์—… ํšŸ์ˆ˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ InnoDB์˜ ํ•ต์‹ฌ์ ์ธ ๋ฒ„ํผ ํ’€, ํŠธ๋žœ์žญ์…˜์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ๋‘๋กœ๊ทธ, ํŠธ๋žœ์žญ์…˜์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ , ๋กค๋ฐฑ ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ๋‘๋กœ๊ทธ ๋“ฑ InnoDB๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์™€ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์„ค๊ณ„๋ฅผ ํ–ˆ๊ณ , ์–ด๋–ค ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ–ˆ๋Š”์ง€ ์•Œ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • InnoDB์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์€ Primary Key ๊ธฐ์ค€์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋œ๋‹ค. PK์˜ ์ˆœ์„œ๋Œ€๋กœ ๋””์Šคํฌ์— ์ €์ •๋˜๋ฉฐ, ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋Š” ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ PK ๊ฐ’์„ ๋…ผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค (๊ฒฐ๊ตญ ์„ธ์ปจ๋”๋ฆฌ(๋ณด์กฐ) ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด PK๋ฅผ ํ™•์ธํ•˜๊ณ , PK ํ†ตํ•ด ์ตœ์ข… ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค)

5์žฅ ํŠธ๋žœ์žญ์…˜๊ณผ ์ž ๊ธˆ

  • MySQL ์—”์ง„ ์ž ๊ธˆ๊ณผ, InnoDB ๋ ˆ๋ฒจ์˜ ์ž ๊ธˆ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. InnoDB์˜ ์ž ๊ธˆ์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ž ๊ทธ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ธ๋ฑ์Šค๋ฅผ ์ž ๊ทธ๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰ ๋ณ€๊ฒฝํ•  ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ๋ฑ์Šค์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋ชจ๋‘ ์ž ๊ธฐ๊ฒŒ ๋œ๋‹ค(ํ’€ ์Šค์บ”์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ์ธ๋ฑ์Šค์— ๋ฝ์ด ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค) ์ด๋ฅผ ํ†ตํ•ด ์Šคํ„ฐ๋””์›๋“ค๊ณผ ๋ฐ๋“œ๋ฝ์ด ๋ฐœ์ƒ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์˜ˆ์ œ๋ฅผ ์ฐพ๊ณ , ์‹ค์Šตํ•ด๋ณด์•˜๋‹ค.
  • ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋  ๋•Œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค. (READ UNCOMMITTED, READ COMMIETED, REPEATABLE READ, SERIALIZABLE)

8์žฅ ์ธ๋ฑ์Šค

realmysql 3
  • B-Tree ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ, ์ธ๋ฑ์Šค ๋ ˆ์ธ์ง€ ์Šค์บ”, ์ธ๋ฑ์Šค ํ’€ ์Šค์บ”, ๋ฃจ์Šค ์ธ๋ฑ์Šค ์Šค์บ”์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด์„œ ์•Œ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ์ฟผ๋ฆฌ๋ฅผ ์ถฉ์กฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค๋ผ๊ณ  ํ•œ๋‹ค. ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์ฟผ๋ฆฌ๋Š” ๋””์Šคํฌ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์ง€ ์•Š์•„๋„ ๋˜์–ด์„œ ๋””์Šคํฌ IO๋ฅผ ์ค„์ด๊ณ  ์ฟผ๋ฆฌ ํ–ฅ์ƒ ์‹œํ‚ฌ์ˆ˜ ์žˆ์Œ
  • ๋’ท๋ถ€๋ถ„์„ ํ†ตํ•œ ๊ฒ€์ƒ‰์‹œ์—๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜ ์—†๋‹ค (ex) %Keyword), ๋˜ํ•œ NOT IN, NOT NULL๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์—์„œ๋Š” ์‚ฌ์šฉํ• ์ˆ˜ ์—†๋‹ค.
  • ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ ˆ์ฝ”๋“œ 1๊ฑด์„ ์ฝ๋Š”๊ฒƒ์ด ์ง์ ‘ ๋ ˆ์ฝ”๋“œ 1๊ฑด์„ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ๋น„์šฉ์ด ๋” ๋งŽ์ด๋“ ๋‹ค. ๋”ฐ๋ผ์„œ ์ฟผ๋ฆฌ๋ฅผ ์˜ตํ‹ฐ๋งˆ์ด์ €๋กœ ์˜ˆ์ธก ํ–ˆ์„ ๋•Œ, ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ฝ์–ด์•ผ ํ•  ๋ ˆ์ฝ”๋“œ ๊ฑด์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋ฉด ๊ทธ๋ƒฅ ํ…Œ์ด๋ธ”์„ ์ง์ ‘ ๋ชจ๋‘ ์ฝ๋Š”๋‹ค.
  • ๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์˜ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ์ปฌ๋Ÿผ์„ ์•ž์ชฝ์— ์„ค์ •ํ•˜๊ณ , ๋ฒ”์œ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์ด ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ์ปฌ๋Ÿผ์„ ๋’ค์— ์„ค์ •ํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค.
  • ์œ ๋‹ˆํฌ ์ธ๋ฑ์Šค์ธ ๊ฒฝ์šฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ํ• ๋•Œ ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ๋Š”์ง€ ์ฒดํฌํ•ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋ณด๋‹ค ์“ฐ๊ธฐ๊ฐ€ ๋Š๋ฆฌ๋‹ค. ์ค‘๋ณต๋œ ๊ฐ’์„ ์ฒดํฌํ•ด์•ผ ๋œ๋‹ค๋Š” ๋œป์€ ์ฝ๊ธฐ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•ด์•ผ ๋œ๋‹ค๋Š” ๋œป์ด๊ณ , ๋ฐ๋“œ๋ฝ์ด ๋นˆ๋ฒˆํžˆ ๋ฐœ์ƒํ• ์ˆ˜ ์žˆ์Œ

9์žฅ ์˜ตํ‹ฐ๋งˆ์ด์ €์™€ ํžŒํŠธ

  • ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ํ†ตํ•ด ๊ฐ ์ฟผ๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰ํ• ๋•Œ ์ตœ์ ์˜ ๋น„์šฉ์œผ๋กœ ์ฒ˜๋ฆฌ๋ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. ๊ฐ ์ฟผ๋ฆฌ๋งˆ๋‹ค ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹คํ–‰ ๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜๋Š”์ง€ ์ž์„ธํ•˜๊ฒŒ ์•Œ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ• ๋•Œ ๋“œ๋ผ์ด๋น™ ํ…Œ์ด๋ธ”์„ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ์ˆ˜ ์žˆ๋‹ค.
  • ์„œ๋ธŒ์ฟผ๋ฆฌ๋ณด๋‹ค๋Š” ์ตœ๋Œ€ํ•œ JOIN์„ ํ™œ์šฉํ•˜์ž.

10์žฅ ์‹คํ–‰ ๊ณ„ํš

realmysql 2
  • ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ํ•ญ์ƒ ์ตœ์ ์˜ ์‹คํ–‰๊ณ„ํš์„ ๋งŒ๋“œ๋Š”๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธํ•ด์•ผ ๋ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ EXPLAIN ๋ช…๋ น์„ ํ†ตํ•ด ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ˆ˜๋ฆฝํ•œ ์‹คํ–‰ ๊ณ„ํš์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค.
  • EXPALIN์„ ํ†ตํ•ด ์‹คํ–‰ ๊ณ„ํš์ด ์ถœ๋ ฅ๋˜์—ˆ์„๋Œ€, ๊ฐ ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๋œป๊ณผ, ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•ด์•ผํ• ์ง€ ์•Œ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ตœ์ ํ™” ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ์ฟผ๋ฆฌ๋ฅผ ์žฌ์ž‘์„ฑ ํ•˜๋Š” ๋“ฑ์„ ํ†ตํ•ด ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ์ˆ˜ ์žˆ๋‹ค.

๐Ÿš€ ์†Œ๊ฐ ๋ฐ ์•ก์…˜์•„์ดํ…œ

  • MYSQL ๋ฒ„์ „ 5.x์™€ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์ƒ์„ธํ•œ ์„ค๋ช…์„ ํ•ด์ฃผ๊ณ , ์ดํ•ดํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ทธ๋ฆผ๋“ค์ด ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ํ•œ์ธต ๋” ๊นŠ์€ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ–ˆ๋‹ค.
  • ์‹ค๋ฌด์—์„œ MySQL ์‚ฌ์šฉ์‹œ ๊ถ๊ธˆํ•œ์ ์ด ์žˆ๊ฑฐ๋‚˜, ์—๋กœ์‚ฌํ•ญ์ด ์žˆ์„๋•Œ ๋ฐ”์ด๋ธ”์ฒ˜๋Ÿผ ์˜†์— ๋‘๊ณ  ๋ณผ๋งŒํ•œ ์ฑ…์ธ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ฑ…์ด ์›Œ๋‚™ ๋ฐฉ๋Œ€ํ•˜๊ณ , ๋งŽ์€ ์–‘์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. DB์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋ถ€์กฑํ–ˆ๋˜ ์ƒํƒœ๋กœ ์ด ์ฑ…์„ ์ฝ์–ด์„œ ๋‚œ์ด๋„๊ฐ€ ์žˆ๋˜ ๋ถ€๋ถ„๋„ ๋ถ„๋ช… ์žˆ์—ˆ๋‹ค. ์Šคํ„ฐ๋””๊ฐ€ ์•„๋‹ˆ์˜€๋‹ค๋ฉด ์ด ์ฑ…์„ ๋ชจ๋‘ ์ฝ์ง€ ๋ชปํ–ˆ์„๊ฒƒ ๊ฐ™๋‹ค.
  • 1ํšŒ๋… ๋ฐ–์— ์•ˆํ•ด์„œ ์•„์ง ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์ง€๋งŒ, ์•„ํ‚คํ…์ฒ˜๋ผ๋˜๊ฐ€, ์ž ๊ธˆ, ์ธ๋ฑ์Šค, ์˜ตํ‹ฐ๋งˆ์ด์ €, ์‹คํ–‰ ๊ณ„ํš ๋“ฑ์— ๋Œ€ํ•ด ๊ต‰์žฅํžˆ ๋งŽ์€ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ „๋ฐ˜์ ์ธ ๊ตฌ์กฐ๋‚˜ ํ๋ฆ„์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, nํšŒ๋…์„ ํ†ตํ•ด ์ข€๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•ด์•ผ ๋˜๊ฒ ๋‹ค.
  • ์ฑ…๋งŒ ์ฝ๊ณ  ์ ์šฉํ•ด๋ณด์ง€ ์•Š์œผ๋ฉด, ๊ธˆ๋ฐฉ ํœ˜๋ฐœ๋˜๋Š” ์ง€์‹์ผ๊ฒƒ ๊ฐ™๋‹ค. ์‹ค์ œ ๊ฐœ๋ฐœ์ค‘์ธ ์„œ๋น„์Šค๊ฐ€ ๋ฐฐํฌ๋˜๊ธฐ ์ „์— ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด EXPLAIN ๋ช…๋ น์„ ํ†ตํ•ด ์‹คํ–‰ ๊ณ„ํš์„ ๋ณด๊ณ  ๋ถ„์„ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด ๊ณผ์ •์ด ์ฑ…์˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ๋ณต์Šตํ•˜๋Š” ๊ณผ์ •์ด ๋  ๊ฒƒ์ด๊ณ , ์ข€๋” ๊นŠ์€ ์ดํ•ด๋ฅผ ํ•˜๋Š” ๊ณผ์ •์ด ๋ ๊ฒƒ ๊ฐ™๋‹ค.

Written by@Munseong Cheon
์ข‹์€ ์ฝ”๋“œ๋กœ ์ข‹์€ ์ œํ’ˆ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ถ”๊ตฌํ•˜๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž ์ฒœ๋ฌธ์„ฑ์ž…๋‹ˆ๋‹ค.

GitHubLinkedIn