Open sedin2 opened 1 year ago
์ฟผ๋ฆฌ ํ์
์ ์ฒ๋ฆฌ๊ธฐ
์ตํฐ๋ง์ด์
์ฟผ๋ฆฌ ์คํ๊ธฐ(์คํ ์์ง)
์์ 4๊ฐ๋ฅผ ๋ฌถ์ด MySQL ์์ง
InnoDB, MyISAM, Memory๋ฅผ ๋ฌถ์ด ์คํ ๋ฆฌ์ง ์์ง
long_query_time
์ ์ค์ ํ ์๊ฐ ์ด์์ ์๊ฐ์ด ์์๋๋ฉด ์ฌ๋ก์ฐ ์ฟผ๋ฆฌ๊ฐ ๋ชจ๋ ๋ก๊ทธ์ ์ ์ฅ๋๋ค.์ฟผ๋ฆฌ ์บ์ โ ์ฟผ๋ฆฌ ํ์ โ ์ ์ฒ๋ฆฌ๊ธฐ โ ์ตํฐ๋ง์ด์ โ ์คํ ์์ง โ ์คํ ๋ฆฌ์ง ์์ง โ ๋์คํฌ
- ์ฟผ๋ฆฌ ์บ์ : SQL ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ํ์ฌ ๋์ผ SQL ์คํ ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ฆ์ ๋ฐํํ๋ ์ฉ์ผ๋ก ์ฌ์ฉ๋์ง๋ง ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ๋์ ์ฒ๋ฆฌ ์ฑ๋ฅ ์ ํ ์ ๋ฐ๋ก ์ธํด MySQL 8.0์์๋ ์ฌ๋ผ์ง
- ์ฟผ๋ฆฌ ํ์ : SQL์ ์ต์ํ์ ๋จ์(ํ ํฐ)๋ก ์ชผ๊ฐ ํธ๋ฆฌ ํํ๋ก ๊ด๋ฆฌํ๋ฉฐ SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๊ฒ์ฆํ์ฌ ๋ฌธ๋ฒ ์ค๋ฅ ์ ์ฌ์ฉ์์๊ฒ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ ์ญํ
- ์ ์ฒ๋ฆฌ๊ธฐ : ํ์์์ ์์ฑํ ํธ๋ฆฌ ํํ์ ํ ํฐ์ ํ๋์ฉ ๋ถ์ํ์ฌ ์ค์ ์๋ ๊ฐ์ฒด(ํ ์ด๋ธ or ์ปฌ๋ผ)์ธ์ง๋ฅผ ๊ฒ์ฆํ๊ณ , ํด๋น ๊ฐ์ฒด์ ๊ถํ์ด ์๋์ง๋ ๊ฒ์ฆํ๋ ์ญํ
- ์ตํฐ๋ง์ด์ : MySQL ์๋ฒ์ ๋๋ ์ญํ ๋ก์จ ์ฟผ๋ฆฌ์ ์ต์ ํ๋ฅผ ๋ด๋นํ๊ณ , ์คํ ๊ณํ์ ์์ฑํ๋ ์ญํ
- ์คํ ์์ง : ์ตํฐ๋ง์ด์ ๊ฐ CTO ์ญํ ์ด๋ผ๋ฉด ์คํ ์์ง์ ์ค๊ฐ ๊ด๋ฆฌ์ ์ญํ ๋ก์จ ์ตํฐ๋ง์ด์ ๊ฐ ์์ฑํ ์คํ ๊ณํ์ ๋ฐ๋ผ ์คํ ๋ฆฌ์ง ์์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์์ ์ ๋ช ๋ นํ๋ ์ญํ
- ์คํ ๋ฆฌ์ง ์์ง (ํธ๋ค๋ฌ) : ์ค๊ฐ ๊ด๋ฆฌ์์ธ ์คํ์์ง์ด ๋ช ๋ นํ ๋๋ก ๋์คํฌ์ ์ง์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์ญํ (InnoDB ์คํ ๋ฆฌ์ง ์์ง, MyISAM ์คํ ๋ฆฌ์ง ์์ง ๋ฑ ํ๋ก๊ทธ์ธ ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ด ์ง์ ์ ํํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ)
- ๋์คํฌ : ์์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
long_query_time
์ ์ค์ ๋ ์๊ฐ ์ด์์ผ๋ก ์ฟผ๋ฆฌ ์คํ ์๊ฐ์ด ๊ฑธ๋ฆฐ ์ฟผ๋ฆฌ-
์ฟผ๋ฆฌ ์คํ ๊ณผ์ ์ ํ๋ฆ์ ์์๋๋ก ์๊ธฐํ๋ฉฐ ๊ฐ๊ฐ์ ์ญํ ๋ค์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํด์ฃผ์ธ์
์ MySQL 8.0๋ถํฐ๋ ํ๋ฌ๊ทธ์ธ ์ํคํ ์ฒ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์ปดํฌ๋ํธ ์ํคํ ์ฒ๋ฅผ ์ ๊ณตํ ๊น์?
์ธ๋ ๋ก๊ทธ, ๋ฆฌ๋ ๋ก๊ทธ์ ์ค๋ช ๊ณผ ๊ด๋ จ๋ ํน์ง์ ์๋๋๋ก ์ค๋ช ํด์ฃผ์ธ์
SERIALIZABLE
๋ก ์ค์ ํ์ฌ ํด๊ฒฐํ ๊ฒ ๊ฐ๋ค. SERIALIZABLE
๊ฒฉ๋ฆฌ์์ค์ผ๋ก ์ค์ ํ๊ฒ๋๋ฉด ๋ค๋ฅธ ํธ๋์ญ์
์์ ์ ๋ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค.PHANTOM READ
๋ DIRTY READ
๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ๋์ด ๋ง์ ์๋น์ค๋ผ๋ฉด ํด๋น ์ต์
์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๊ถ์ฅํ๋ค. (์ฝ๊ธฐ ์ ๊ธ์ผ๋ก ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์)
๐ ๋ฌธ์ ๋ชฉ๋ก