#_unicode_ci VS #_general_ci
์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ํ ์คํธ๋ฅผ ์ ๋ ฌํ๊ณ ๋น๊ตํ๊ธฐ ์ํ ๋ ๊ฐ์ง ๋ค๋ฅธ ๊ท์น ์งํฉ์ ๋๋ค.
_unicode_520_ci ์ต์ ๋ฒ์ ์ MySQL์ ์ ๋์ฝ๋ 5.2๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋๋ฑํ ๊ท์น ๋๋ ์ ๋์ฝ๋ 9.0์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋๋ฑํ ๊ท์น์ ํนํ๋ MySQL 8.x์ ๊ฐ์ ์๋ก์ด ๊ท์น ์ธํธ๋ ๋์ ํฉ๋๋ค. _0900_ai_ci(๋๋ฑํ ๋ณํ ์์ _general_ci). ์ง๊ธ ์ด ๊ธ์ ์ฝ๋ ์ฌ๋๋ค์ ์๋ง๋ _unicode_ci ๋๋ _general_ci. ์๋์ ์ด์ ๋ฐ์ดํฐ ์ ๋ ฌ์ ๋ํ ์ค๋ช ์ ๊ด์ฌ์ฉ์ผ๋ก๋ง ์ ๊ณต๋ฉ๋๋ค.
MySQL์ ํ์ฌ ์ด์ ์ ๊ฒฐํจ ์๋ UTF-8 ๊ตฌํ์์ ๋ฒ์ด๋ ์ ํํ๊ณ ์์ต๋๋ค. ์ง๊ธ์ ๊ณ ์ ๋ ๋ฒ์ ์ ๋ฐ๊ณ ์๋์ง ํ์ธํ๊ธฐ ์ํด ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ถ๋ถ utf8mb4 ๋์ ์ฌ์ฉํด์ผ ํฉ๋๋ค . utf8 ๊ฒฐํจ์ด ์๋ ๋ฒ์ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ง๋ง ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ๋จ์ ์์ต๋๋ค.
์ฃผ์ ์ฐจ์ด์
- utf8mb4_unicode_ci ๊ด๋ฒ์ํ ์ธ์ด์์ ์ ํํ๊ฒ ์ ๋ ฌํ๋ ๋ฒ์ฉ ์ ๋ ฌ ๋ฐ ๋น๊ต๋ฅผ ์ํ ๊ณต์ ์ ๋์ฝ๋ ๊ท์น์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- utf8mb4_general_ci ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ์ค๊ณ๋ ๋ง์ ์ง๋ฆ๊ธธ์ ์ฌ์ฉํ๋ฉด์ ๊ฐ๋ฅํ ํ ์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ๋จ์ํ๋ ์ ๋ ฌ ๊ท์น ์ธํธ์ ๋๋ค. ์ ๋์ฝ๋ ๊ท์น์ ๋ฐ๋ฅด์ง ์์ผ๋ฉฐ ํน์ ์ธ์ด๋ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๊ฐ์ ์ผ๋ถ ์ํฉ์์ ๋ฐ๋์งํ์ง ์์ ์ ๋ ฌ์ด๋ ๋น๊ต๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์ต์ ์๋ฒ์์ ์ด๋ฌํ ์ฑ๋ฅ ํฅ์์ ๊ฑฐ์ ๋ฌด์ํ ์ ์์ต๋๋ค. ์๋ฒ๊ฐ ์ค๋๋ ์ปดํจํฐ์ CPU ์ฑ๋ฅ์ ์์ฃผ ์์ ๋ถ๋ถ์ ์ฐจ์งํ๋ ์๊ธฐ์ ๊ณ ์๋์์ต๋๋ค.
utf8mb4_unicode_ci ์ด์์ ์ด์ utf8mb4_general_ci
utf8mb4_unicode_ci ์ ๋ ฌ ๋ฐ ๋น๊ต์ ์ ๋์ฝ๋ ๊ท์น์ ์ฌ์ฉํ๋ ์ ๊ด๋ฒ์ํ ์ธ์ด์์ ๊ทธ๋ฆฌ๊ณ ๊ด๋ฒ์ํ ํน์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ ๋ ์ฌ๋ฐ๋ฅธ ์ ๋ ฌ์ ์ํด ์๋นํ ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ๊ท์น์ ์ธ์ด๋ณ ๊ท์น์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ชจ๋ ์ฌ๋์ด '์ํ๋ฒณ์'์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์๋ฅผ ์ ๋ ฌํ์ง๋ ์์ต๋๋ค.
๋ผํด์ด(์: "์ ๋ฝ") ์ธ์ด์ ๊ดํ ํ Unicode ์ ๋ ฌ๊ณผ MySQL์ ๋จ์ํ๋ ์ ๋ ฌ ์ฌ์ด์๋ ํฐ ์ฐจ์ด๊ฐ ์์ง๋ง utf8mb4_general_ci ์ฌ์ ํ ๋ช ๊ฐ์ง ์ฐจ์ด์ ์ด ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด, ์ ๋์ฝ๋ ๋ฐ์ดํฐ ์ ๋ ฌ์ "ss"์ ๊ฐ์ "ß" ๋ฐ "OE"์ ๊ฐ์ "Œ"๋ฅผ ํด๋น ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ด ์ผ๋ฐ์ ์ผ๋ก ์ํ๋ ๋๋ก ์ ๋ ฌํ๋ ๋ฐ๋ฉด ๋จ์ผ utf8mb4_general_ci ๋ฌธ์(๊ฐ๊ฐ "s" ๋ฐ "e"์ ์ ์ฌํจ)๋ก ์ ๋ ฌํฉ๋๋ค. .
- ์ผ๋ถ ์ ๋์ฝ๋ ๋ฌธ์๋ ๋ฌด์ํ ์ ์๋ ๊ฒ์ผ๋ก ์ ์๋ฉ๋๋ค. ์ฆ, ์ ๋ ฌ ์์์ ํฌํจ๋์ง ์์์ผ ํ๋ฉฐ ๋์ ๋น๊ต๊ฐ ๋ค์ ๋ฌธ์๋ก ์ด๋ํด์ผ ํฉ๋๋ค. utf8mb4_unicode_ci ์ด๊ฒ๋ค์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค.
์์์ ์ธ์ด๋ ์ํ๋ฒณ์ด ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ ๋น๋ผํด์ด์์๋ ์ ๋์ฝ๋ ์ ๋ ฌ๊ณผ ๋จ์ํ๋ ์ ๋ ฌ ์ฌ์ด์ ํจ์ฌ ๋ ๋ง์ utf8mb4_general_ci ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค .
์ ํฉ์ฑ์ utf8mb4_general_ci ์ฌ์ฉ๋๋ ์ธ์ด์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ์ผ๋ถ ์ธ์ด์ ๊ฒฝ์ฐ ์๋นํ ๋ถ์ ์ ํฉ๋๋ค.
๋ฌด์์ ์ฌ์ฉํด์ผ ํฉ๋๊น?
utf8mb4_general_ci ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์ค์ํ ์ ๋๋ก CPU ์๋๊ฐ ๋ฎ์ ์ง์ ์ ๋จ๊ฒจ๋์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ์ฌ์ฉํ ์ด์ ๊ฐ ๊ฑฐ์ ์์ต๋๋ค.
๊ณผ๊ฑฐ์๋ utf8mb4_general_ci์ฑ๋ฅ ๋น์ฉ์ ์ ๋นํํ ๋งํผ ์ ํํ ์ ๋ ฌ์ด ์ค์ํ ๋๋ฅผ ์ ์ธํ๊ณ ์ผ๋ถ ์ฌ๋๋ค์ด ์ฌ์ฉ์ ๊ถ์ฅํ์ต๋๋ค. ์ค๋๋ ์ด๋ฌํ ์ฑ๋ฅ ๋น์ฉ์ ๊ฑฐ์ ์ฌ๋ผ์ก์ผ๋ฉฐ ๊ฐ๋ฐ์๋ ๊ตญ์ ํ๋ฅผ ๋์ฑ ์ฌ๊ฐํ๊ฒ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
์ ํ๋๋ณด๋ค ์๋๊ฐ ๋ ์ค์ํ๋ค๋ฉด ์ ๋ ฌ์ ์ ํ ์ํํ์ง ์๋ ๊ฒ์ด ๋์ ์๋ ์๋ค๋ ์ฃผ์ฅ์ด ์์ต๋๋ค. ์ ํํ ํ์๊ฐ ์๋ค๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ๋ ๋น ๋ฅด๊ฒ ๋ง๋๋ ๊ฒ์ ์ฌ์ํ ์ผ์ ๋๋ค. ๋ฐ๋ผ์ utf8mb4_general_ci ์๋์์ ์ด์ ๋ก ํ์ํ์ง ์๊ณ ์ ํ์ฑ์์ ์ด์ ๋ก๋ ์ ํฉํ์ง ์์ ์ ์ถฉ์์ ๋๋ค.
๋ด๊ฐ ์ถ๊ฐํ ๋ ๋ค๋ฅธ ์ฌํญ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์ด๋ง ์ง์ํ๋ค๋ ๊ฒ์ ์๊ณ ์๋๋ผ๋ ์ฌ๋๋ค์ ์ด๋ฆ์ ์ฒ๋ฆฌํด์ผ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด ์ด๋ฆ์๋ ์ข ์ข ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฌํ๋ ๊ฒ์ด ์ค์ํ ๋ค๋ฅธ ์ธ์ด์์ ์ฌ์ฉ๋๋ ๋ฌธ์๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. . ๋ชจ๋ ๊ฒ์ ์ ๋์ฝ๋ ๊ท์น์ ์ฌ์ฉํ๋ฉด ๋งค์ฐ ๋๋ํ ์ ๋์ฝ๋ ์ฌ๋๋ค์ด ์ ๋ ฌ ์์ ์ ์ ๋๋ก ์ํํ๊ธฐ ์ํด ์ด์ฌํ ๋ ธ๋ ฅํ๋ค๋ ์ฌ์ค์ ์์ฌํ ์ ์์ต๋๋ค.
What the parts mean
์ฒซ์งธ, ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋ci ์ ๋ ฌ ๋ฐ ๋น๊ต๋ฅผ ์ํ ๊ฒ์ ๋๋ค .
์ฆ, ํ ์คํธ ๋ฐ์ดํฐ์ ์ ํฉํ๋ฉฐ ๋์๋ฌธ์๋ ์ค์ํ์ง ์์ต๋๋ค. ๋ค๋ฅธ ์ ํ์ ๋ฐ์ดํฐ ์ ๋ ฌ์ ๋์๋ฌธ์๊ฐ ์ค์ํ ํ ์คํธ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ (๋์๋ฌธ์ ๊ตฌ๋ถ)์ด๊ณ , ์ธ์ฝ๋ฉ์ด ์ผ์นํด์ผ ํ๋ ๊ฒฝ์ฐ ๋นํธ ๋จ์๋ก ์ค์ ๋ก ์ธ์ฝ๋ฉ๋ ์ด์ง ๋ฐ์ดํฐ(์: Base64). ๋์๋ฌธ์ ๊ตฌ๋ถ ์ ๋ ฌ์ ์ด์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ณ ๋์๋ฌธ์ ๊ตฌ๋ถ ๋น๊ต๋ ๋์๋ฌธ์๋ง ๋ค๋ฅธ ์ค๋ณต ๊ฐ์ ์ด๋ํ ์ ์์ผ๋ฏ๋ก ๋์๋ฌธ์ ๊ตฌ๋ถ ๋ฐ์ดํฐ ์ ๋ ฌ์ ํ ์คํธ ๋ฐ์ดํฐ์ ์ ํฉํ์ง ์์ต๋๋ค. ๋์๋ฌธ์๊ฐ ์ค์ํ ๊ฒฝ์ฐ ๊ตฌ๋์ ์ ๋ฌด์ํ ์ ์์ต๋๋ค. ๋ฑ๋ ์ค์ํ ์ ์์ผ๋ฉฐ ์ด์ง ๋ฐ์ดํฐ ์ ๋ ฌ์ด ๋ ์ ์ ํ ์ ์์ต๋๋ค.csbin
๋ค์์ผ๋ก unicode๋๋ generalํน์ ์ ๋ ฌ ๋ฐ ๋น๊ต ๊ท์น, ํนํ ํ ์คํธ๊ฐ ์ ๊ทํ๋๊ฑฐ๋ ๋น๊ต๋๋ ๋ฐฉ์์ ๋ํ๋ ๋๋ค. utf8mb4 ๋ฌธ์ ์ธ์ฝ๋ฉ์๋ ๋ค์ํ ๊ท์น ์ธํธ๊ฐ ์์ผ๋ฉฐ, ํ๋์ ํน์ ์ธ์ด๊ฐ ์๋ ๋ชจ๋ ๊ฐ๋ฅํ ์ธ์ด์์ ์ ์๋ํ๋๋ก ์๋ํ๋ ๋ ๊ฐ์ง ๊ท์น์ด ์์ต๋๋ค unicode. general์ด ๋ ๊ฐ์ง ๊ท์น ์งํฉ์ ์ฐจ์ด์ ์ด ์ด ๋ต๋ณ์ ์ฃผ์ ์ ๋๋ค. unicode์ ๋์ฝ๋ 4.0์ ๊ท์น์ ์ฌ์ฉํฉ๋๋ค . ์ต์ ๋ฒ์ ์ MySQL ๋ฐ MariaDB๋ unicode_520์ ๋์ฝ๋ 5.2์ ๊ท์น์ ์ฌ์ฉํ์ฌ ๊ท์น ์ธํธ๋ฅผ ์ถ๊ฐํ๊ณ MySQL 8.x๋ 0900์ ๋์ฝ๋ 9.0์ ๊ท์น์ ์ฌ์ฉํ์ฌ ์ถ๊ฐํฉ๋๋ค("unicode_" ๋ถ๋ถ ์ญ์ ).
๋ง์ง๋ง์ผ๋ก utf8mb4๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ๋๋ค. ์ด ๋ต๋ณ์์๋ ์ ๋์ฝ๋ ๊ธฐ๋ฐ ์ธ์ฝ๋ฉ์ ๋ํด์๋ง ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค.
### Reply
'๐ข๏ธ Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL] Count ํจ์, Sequel vs SQL (0) | 2023.08.19 |
---|---|
Apache Parquet(ํ์ผ์ด) (0) | 2023.08.14 |
[Mysql] python executemany ์ฌ์ฉ์ TypeError: not all arguments converted during string ... (0) | 2022.03.23 |
[Mysql] Python Sql query Format Error (0) | 2022.03.21 |
[Mysql] Pymysql INSERT ์ฟผ๋ฆฌ ์์ฑ๊ธฐ (0) | 2022.03.21 |