๐ข DB/๐ RDB3 ์ธ๋ฑ์ค์ ๊ด๋ จ๋ ๋ช ๊ฐ์ง SQL ํ๋ ์์ (๊ฒฐํฉ ์ธ๋ฑ์ค, ์ธ๋ฑ์ค ์ฌ์ฉํ ๋ ๋๋ฆฐ ๊ฒฝ์ฐ, ์ธ๋ฑ์ค๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฑ) ์ด ๊ธ์ ์ฑ ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 4,5 ์ฅ Github repo ์์ , ํ๋จ reference ์ฐธ๊ณ ํ์ต๋๋ค. ์ ์๊ถ ๋ฌธ์ ๋ฐ์ ์ ๊ฒ์๋ฌผ์ด ๋น๊ณต๊ฐ๋ ์ ์์ต๋๋ค. ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ํธํ๊ฒ ๋ง์ํด์ฃผ์ธ์. ์ด์ ๊ธ MySQL ์คํ ๊ณํ๊ณผ ๊ฒฐ๊ณผ ์ปฌ๋ผ ์ค๋ช (MySQL EXPLAIN Output Format)์์ MySQL ์คํ ๊ณํ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์์๋ณด์๋ค. ์ด๋ฒ ๊ธ์์ ์คํ ๊ณํ์ ํ์ฉํ์ฌ ์ธ๋ฑ์ค์ ๊ด๋ จ๋ ๋ช ๊ฐ์ง SQL ํ๋ ์์ ๋ฅผ ์ดํด๋ณด๊ณ ์ ํ๋ค. Case 1 : ๊ฒฐํฉ ์ธ๋ฑ์ค ์์ ๊ณ ๋ ค ์์ด ์ฌ์ฉํ๋ SQL๋ฌธ ์ฌ์ ํ ์ด๋ธ๊ณผ index ๊ตฌ์ฑ์ ์๋์ ๊ฐ๋ค. ์ฌ์ ํ ์ด๋ธ์์ ์ฑ(Family Name)๊ณผ ์ฑ๋ณ(Sex) ์์๋ก ๊ทธ๋ฃจํํ์ฌ ๋ช ๊ฑด์ ๋ฐ์ดํฐ๊ฐ ์๋์ง ๊ตฌ๋ถํ๊ณ ์ถ๋ค. ๋ค์ ๋งํด ์ฑ์ด ๊น์จ์ธ .. 2022. 5. 19. MySQL ์คํ ๊ณํ๊ณผ ๊ฒฐ๊ณผ ์ปฌ๋ผ ์ค๋ช (MySQL EXPLAIN Output Format) ์ด ๊ธ์ ์ฑ Real Mysql 8.0 10์ฅ, ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 3์ฅ๊ณผ Github repo์ ์์ , ํ๋จ Reference ์ฐธ๊ณ ํ์ต๋๋ค. ์ ์๊ถ ๋ฌธ์ ๋ฐ์ ์ ๊ฒ์๋ฌผ์ด ๋น๊ณต๊ฐ๋ ์ ์์ต๋๋ค. ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ํธํ๊ฒ ๋ง์ํด์ฃผ์ธ์. ์คํ ๊ณํ(explain)์ด๋? ์คํ ๊ณํ(explain)์ ํด๋ผ์ด์ธํธ๊ฐ MySQL ์๋ฒ์ ์์ฒญํ SQL๋ฌธ์ ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ๊ฒ์ธ์ง์ ๊ดํ ๊ณํ, ๊ฒฝ๋ก๋ฅผ ์๋ฏธํ๋ค. ์คํ ๊ณํ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ SQL ํ๋์ ํ ์ ์๋ค. ๋จ, ์ค์ ์ํ ์์๊ฐ ์๋ MySQL์ ํต๊ณ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐํ ์์ธก๊ฐ์ด๋ค. ์ค์ ๊ฐ์ผ๋ก ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด ์ต์ ์ ์ถ๊ฐํด์ผํ๋ค. ์คํ ๊ณํ ์์ ์ค๋ช ์๋์์ ์ดํด๋ณผ ์์ ๋ ์ฑ ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 3์ฅ์ ์ ์ฅ์๋ฅผ ์ฐธ๊ณ ํ.. 2022. 5. 14. MySQL Server ์ํคํ ์ฒ์ ์ค๋ ๋ฉ ์ด ๊ธ์ ์ฑ Real Mysql 8.0 4์ฅ, ์ ๋ฌด์ ๋ฐ๋ก ์ฐ๋ SQL ํ๋ 2์ฅ๊ณผ ํ๋จ Reference ์ฐธ๊ณ ํ์ต๋๋ค. ์๋ชป๋ ๋ด์ฉ์ด ์๋ค๋ฉด ํธํ๊ฒ ๋ง์ํด์ฃผ์ธ์ ๐๐ป ๊ฐ๋จํ๊ฒ MySQL Server์ ์ํคํ ์ฒ์ ์ค๋ ๋ฉ์ ์ดํด๋ณด๊ณ ์ ํ๋ค. MySQL Server ์ํคํ ์ฒ MySQL ์๋ฒ ์ํคํ ์ฒ๋ ์ด๋ป๊ฒ ๋์ด ์์๊น? ๋ ๊ฐ์ง ๊ด์ (SQL ์ฟผ๋ฆฌ ์คํํ์ ๋, MySQL ์๋ฒ ๊ตฌ์ฑ์์)์ผ๋ก ์ดํด๋ณด์. 1. SQL ์ฟผ๋ฆฌ ์คํ ๊ตฌ์กฐ์ ์ํคํ ์ฒ ํด๋ผ์ด์ธํธ๊ฐ SELECT * FROM ํ์; ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ค๊ณ ๊ฐ์ ํ์. ํด๋น SQL ๋ฌธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ์คํ๋๋ค. ํ์(parser) : ์ฌ์ฉ์ ์์ฒญํ SQL๋ฅผ ์ชผ๊ฐ ํ ํฐ์ผ๋ก ๋ถ๋ฆฌํ๊ณ ํธ๋ฆฌ ํํ์ ๊ตฌ์กฐ๋ก ๋ง๋ ๋ค. ์ด๋ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ค๋ฅ๋ฅผ ํ์ธํ๋ค ์ ์ฒ๋ฆฌ๊ธฐ(prepr.. 2022. 5. 12. ์ด์ 1 ๋ค์