
MySQL μ½λ μ΄μ μ μ΄λ»κ² λμν κΉ?
MySQL μ½λ μ΄μ μ μ΄λ»κ² λμν κΉ? κ΄λ ¨
IT μ§μμ΄ λ¬΄μλ³΄λ€ μ€μν΄μ§ μμ¦, μ¬λ¬λΆμ μ΄λ»κ² 곡λΆνκ³ μλμ? κ°μ₯ λ¨Όμ λκΈΈμ΄ κ°λ 건 λ€μν IT κ°μ μμμΌ κ²λλ€. κ°μλ₯Ό μ 곡νλ κ΅μ‘ κΈ°μ λ€κ³Ό ν¨κ», μμ¦ITμμ βIT κ°μ μ리μ¦βλ₯Ό μ€λΉνμ΅λλ€. μμ ν κ΅μ‘ μμμ TEXTλ‘ μ½κ³ νμν μ 보λ₯Ό λΉ λ₯΄κ² κ°μ Έκ°μΈμ.
μ΄λ² κ°μλ βReal MySQLβμ λλ€. λΉκ·Όλ§μΌ μΈνλΌμ€ DBνμμ DBAλ‘ κ·Όλ¬΄νλ μ΄μ±μ±, λ°±μλΉ λμ΄ κ°μλ₯Ό 맑μμ΅λλ€. MySQL 8.0 λ²μ μ μ€μ¬μΌλ‘ μ€λ¬΄μ λ°λ‘ μ μ©ν μ μλ MySQL νμ©λ²μ λ€λ£¨κ³ μμ£ . μ 체 μμμ μΈνλ°μμ νμΈν μ μμ΅λλ€.
Real MySQL μ리μ¦
CHAR
vs. VARCHAR
, μΈμ μ΄λ»κ² μ¨μΌ ν κΉ? | μμ¦ITCHAR
vs. VARCHAR
, μΈμ μ΄λ»κ² μ¨μΌ ν κΉ?VARCHAR
vs. TEXT
, λκ° λ€λ₯ΌκΉ? | μμ¦ITVARCHAR
vs. TEXT
, λκ° λ€λ₯ΌκΉ?μ΄λ² κΈμμλ MySQLμ μ½λ μ΄μ μ λν΄ μ΄ν΄λ³΄λ €κ³ ν©λλ€. μ λ°μ μΈ κ°μμ ν¨κ» MySQL 8.0μ μλ‘κ² μΆκ°λ μ½λ μ΄μ λ€μ μμ£Όλ‘ μ΄λ»κ² λμνλμ§, λμ λ°©μκ³Ό μ£Όμν΄μΌ ν μ¬νμ μ΄ 2νΈμ κ±Έμ³ μμλ³΄κ² μ΅λλ€.
μ½λ μ΄μ μ΄λ?
λ¨Όμ μ½λ μ΄μ μ 무μμΈμ§ κ°λ¨νκ² μ΄ν΄λ³΄κ² μ΅λλ€. μ½λ μ΄μ μ λ¬Έμλ₯Ό λΉκ΅νκ±°λ μ λ ¬ν λ μ¬μ©λλ κ·μΉμ λ§ν©λλ€. μ΄ κ·μΉμ λ¬Έμκ° μ΄λ»κ² μλ‘ λΉκ΅λλμ§, μ΄λ€ μμλ‘ λμ΄λμ΄μΌ νλμ§λ₯Ό μ μν©λλ€.

μλ₯Ό λ€μ΄, μνλ²³ λλ¬Έμ Aμ μλ¬Έμ aκ° κ°μμ§, λλ μ΄λ κ²μ΄ λ¨Όμ μ€λμ§λ₯Ό κ²°μ νλ λ° μ¬μ©λ©λλ€. λν μ½λ μ΄μ μ λ¬Έμ μ§ν©, μ¦ μΊλ¦ν° μ (Character Set)μ μ’ μμ μΈλ°μ. λ¬Έμ μ§ν©μ΄λ, κ° λ¬Έμμ ν λΉλ κ³ μ ν μ½λκ°μ μ§ν©μ μλ―Έν©λλ€.
μλ₯Ό λ€μ΄, λλ¬Έμ Aλ U+0041, μλ¬Έμ aλ U+0061κ³Ό κ°μ΄ μ μλ©λλ€. μ΄ μ½λκ°μ ν΅ν΄ μ»΄ν¨ν°κ° λ¬Έμλ₯Ό μΈμνκ³ μ²λ¦¬ν μ μμ΅λλ€.
μ½λ μ΄μ μ λ¬Έμλ€μ λΉκ΅νλ κ³Όμ μμ μ΄λ¬ν μ½λκ° λ±μ κΈ°λ°μΌλ‘ μλνκΈ° λλ¬Έμ λ¬Έμ μ§ν©μ μ’ μμ μ λλ€. κ·Έλ¦¬κ³ MySQLμμλ λ¬Έμμ΄ νμ μ κ°μ§λ λͺ¨λ 컬λΌμ μμ λ§μ λ 립μ μΈ λ¬Έμ μ§ν©κ³Ό μ½λ μ΄μ μ κ°μ§ μ μμ΅λλ€.
λ§μ½ μ¬μ©μκ° MySQL μλ²λ DB λ΄ μ€λΈμ νΈμ λ³λλ‘ μ½λ μ΄μ μ μ€μ νμ§ μμΌλ©΄, MySQLμ μλ²μ μ€μ λ λ¬Έμ μ§ν©μ λν΄νΈ μ½λ μ΄μ μ μ¬μ©ν©λλ€. λν λ°μ΄ν°λ² μ΄μ€ λ΄μ μμ±λλ μ€λΈμ νΈμλ ν΄λΉ λ΄μ©μ΄ μ μ©λ©λλ€.
μ½λ μ΄μ μ μ’ λ₯

λ€μμ μ½λ μ΄μ μ’ λ₯μ λλ€. MySQLμμ μ§μνλ μ½λ μ΄μ λͺ©λ‘μ νμΈνκ³ μΆμ κ²½μ°, SHOW COLLATION λͺ λ Ήμ μ¬μ©νλ©΄ λ©λλ€.
SHOW COLLATION λͺ λ Ήμ μ€ννλ©΄, μ κ·Έλ¦Όκ³Ό κ°μ΄ μ½λ μ΄μ λͺ©λ‘μ΄ λ³΄μ΄λλ°μ. μ½λ μ΄μ μ΄λ¦κ³Ό ν¨κ» κ° μ½λ μ΄μ μ΄ μν΄μλ λ¬Έμ μ§ν©, κ·Έλ¦¬κ³ μ½λ μ΄μ μ΄ λ¬Έμ μ§ν©μ κΈ°λ³Έ μ½λ μ΄μ μΈμ§, νν 곡백μ λν΄ ν¨λ© μ²λ¦¬λ₯Ό νλμ§ λ±κ³Ό κ°μ λΆκ°μ μΈ μμ± μ 보λ€μ νμΈν μ μμ΅λλ€.
μ½λ μ΄μ μ μ΄ν΄λ³΄λ©΄ μ΄λ¦μ μ΄λ€ κ·μΉμ΄ μμ΄ λ³΄μ΄λ©΄μλ λ―μ€κ³ 볡μ‘νκ² λκ»΄μ§λ λΆλΆλ€μ΄ μλλ°μ. μ¬μ€ μ½λ μ΄μ μ μ΄λ¦μλ μ½λ μ΄μ μ μ±μ§κ³Ό νΉμ±μ λν λ€μν μ λ³΄κ° λ΄κ²¨ μμ΅λλ€. λ°λΌμ λ€μ΄λ° 컨벀μ μ μ΄ν΄νλ κ²λ λ§μ λμμ΄ λ©λλ€.
μ½λ μ΄μ μ λ€μ΄λ° 컨벀μ

μ§κΈλΆν°λ MySQLμμ μ¬μ©λλ μ½λ μ΄μ μ λ€μ΄λ° 컨벀μ μ λν΄ μμ보λλ‘ νκ² μ΅λλ€. MySQLμμ μ½λ μ΄μ μ΄λ¦μ ν¬κ² λ€ λΆλΆμΌλ‘ ꡬμ±λμ΄ μμΌλ©°, κ°κ°μ μ½λ μ΄μ μ μ€μν νΉμ§μ λνλ λλ€.
μ°μ 첫 λ²μ§Έ λΆλΆλΆν° μ΄ν΄λ³΄λ©΄, μ½λ μ΄μ μ΄λ¦μ μμ λΆλΆμΌλ‘ ν΄λΉ μ½λ μ΄μ μ΄ μν λ¬Έμ μ§ν©μ λνλ λλ€. μμλ‘ λμ μλ κ²μ²λΌ utf8mb4, utf8mb3, latin1, euckr λ±μ΄ μμ΅λλ€. μ¬κΈ°μ utf8mb3λ κΈ°μ‘΄ utf8 λ¬Έμ μ§ν©μ μλ―Ένλ€κ³ 보μλ©΄ λ©λλ€.

λ€μμΌλ‘ λ λ²μ§Έ λΆλΆμΈ μΈμ΄ μ’ μμ λλ€. μΈμ΄ μ’ μ λΆλΆμ λ¬Έμ μ§ν© λΆλΆκ³Ό λ¬λ¦¬, κΈμκ° νμμΌλ‘ νμλμ΄ μλλ°μ. μ΄λ μ νμ μΈ μμ±μΌλ‘ μλ΅λ μ μμμ μλ―Έν©λλ€.
μ¦, μ½λ μ΄μ μ΄ μΈμ΄ μ’ μ νΉμ±μ κ°μ§λ€λ©΄ μ΄λ¦μλ ν΄λΉ λ΄μ©μ΄ νμλκ³ , κ·Έλ μ§ μμ κ²½μ°μλ μ΄λ¦μλ νμλμ§ μμ΅λλ€. μΈμ΄ μ’ μμ νΉμ μΈμ΄μ λν΄ ν΄λΉ μΈμ΄μμ μ μν μ λ ¬ μμλ₯Ό λ°νμΌλ‘ μ λ ¬ λ° λΉκ΅λ₯Ό μνν¨μ μλ―Έν©λλ€. μΈμ΄ μ’ μ λΆλΆμ νμλλ κ°μ locale code λλ language κ°μ΄ νμλλλ°μ. νμλ μΈμ΄μ λν΄μλ κ·Έ μΈμ΄μμ μ μν μ λ ¬ μμκ° μ¬μ©λ©λλ€.

μΈ λ²μ§Έλ UCA λ²μ μΈλ°μ. μΈμ΄ μ’ μκ³Ό λ§μ°¬κ°μ§λ‘ μ νμ μΌλ‘ νμλλ κ°μ λλ€. UCAλ βUnicode Collation Algorithmβμ μ½μλ‘ μ λμ½λ κΈ°λ°μ λ¬Έμ μ§ν©μ μν μ½λ μ΄μ μμ μ¬μ©νλ βλ¬Έμμ΄ λΉκ΅ νμ€ μκ³ λ¦¬μ¦βμ μλ―Έν©λλ€.
κ·Έλμ μ΄ UCAλ₯Ό κΈ°λ°μΌλ‘ λμνλ μ½λ μ΄μ μμλ ν΄λΉ μ½λ μ΄μ μ΄ μ¬μ©νλ UCA λ²μ μ λ³΄κ° μ΄λ¦μ νμλ©λλ€. μμλ‘ λμ μλ μ½λ μ΄μ λ€μ μ΄ν΄λ³΄λ©΄, μ λΆ μ λμ½λ κΈ°λ° λ¬Έμ μ§ν©μ μν΄ μλ μ½λ μ΄μ μΌλ‘, μ½λ μ΄μ λ³λ‘ UCA λ²μ μ΄ νμλλ ννκ° μ‘°κΈ λ€λ₯Έ κ²μ νμΈν μ μμ΅λλ€.
κ·Έλ¦¬κ³ μ΄λ¦μ βgeneralβμ΄λΌλ λ¨μ΄κ° ν¬ν¨λ μ½λ μ΄μ λ μλλ°μ. μ΄λ UCA κΈ°λ°μ μλκ³ , MySQLμμ λΉκ΅, μ±λ₯ ν₯μ λ±μ μν΄ μ체μ μΌλ‘ 컀μ€ν ν κ·μΉμ΄ μ μ©λ μ½λ μ΄μ μ΄λΌκ³ 보면 λ©λλ€.

λ§μ§λ§ λΆλΆμ λ―Όκ°λλΌκ³ νμν΄ λ³΄μλλ°μ. μ½λ μ΄μ μμ λ¬Έμμ΄ λΉκ΅ μ μ μΌνΈ ꡬλΆμ΄λ, λμλ¬Έμ ꡬλΆμ νλμ§ λλ λ°μ΄λ리 κ° κΈ°λ° λΉκ΅λ₯Ό μννλμ§μ κ°μ΄ λ¬Έμμ΄ λΉκ΅ λ―Όκ°λμ λν νΉμ±μ΄ λͺ μλλ λΆλΆμ λλ€.
μ μλ£μ 보μ΄λ κ°λ€μ΄ λ―Όκ°λμ νμλ μ μλ κ°μΈλ°μ. _ai
μ _as
λ μ
μΌνΈ κ΅¬λΆ μ¬λΆλ₯Ό λνλ΄κ³ , _ci
μ _cs
λ λμλ¬Έμ κ΅¬λΆ μ¬λΆλ₯Ό, _ks
λ μΌλ³Έμ΄μμ νλΌκ°λμ κ°νμΉ΄λ λ¬Έμ κ΅¬λΆ μ¬λΆλ₯Ό λνλ
λλ€.
_bin
λ Binaryμ μ€μλ§λ‘, λ¬Έμμ΄μ λν΄ Binary κ°μΌλ‘ λΉκ΅νκ³ μ λ ¬νλ κ²μ μλ―Έν©λλ€.
μ½λ μ΄μ μ λμ λ°©μ
μ§κΈκΉμ§ MySQLμ μ΄λ€ μ½λ μ΄μ λ€μ΄ μλμ§, κ·Έλ¦¬κ³ μ½λ μ΄μ λ€μ΄λ° 컨벀μ μ λν΄ μμ보μλλ°μ. μ΄μ λ μ€μ μ½λ μ΄μ μ΄ μ΄λ»κ² λμνλμ§, λ§μ΄ μ¬μ©νλ μ λμ½λ κΈ°λ° λ¬Έμ μ§ν©μ μνλ μ½λ μ΄μ μμ£Όλ‘, ν΄λΉ λ΄μ©μ μ΄ν΄λ³΄κ² μ΅λλ€.

λ°μ΄ν° μ μ₯
μ°μ κΈ°λ³Έ κ°λ μ μ΅νκΈ° μν΄ λ¬Έμμ΄ λ°μ΄ν°κ° μ΄λ»κ² μ μ₯λλμ§λΆν° κ°λ¨νκ² μ΄ν΄λ³Όκ²μ. μ λμ½λ κΈ°λ° λ¬Έμ μ§ν©μμλ λ¬Έμ λ°μ΄ν°λ₯Ό μ μ₯ν λ, κ·Έ λ¬Έμμ ν΄λΉνλ μ λμ½λ μ½λ ν¬μΈνΈ κ°μ μΈμ½λ©ν΄μ μ μ₯ν©λλ€.
μ΄ μΈμ½λ© λ°©μμ λ°λΌ UTF-8, UTF-16 λ±μΌλ‘ λ¬Έμ μ§ν©μ΄ ꡬλΆλ©λλ€. μΌλ°μ μΌλ‘ λ§μ΄ μ¬μ©λλ λ¬Έμ μ§ν©μ utf8mb4λ‘ λ¬Έμμ΄ λ°μ΄ν° μ μ₯ μ, UTF-8 μΈμ½λ© λ°©μμ΄ μ μ©λ©λλ€. UTF-8 μΈμ½λ© λ°©μμ κ°λ³ κΈΈμ΄ μΈμ½λ© λ°©μμΌλ‘, μ½λ ν¬μΈνΈ λ²μμ λ°λΌ λ¬Έμκ° 1μμ 4λ°μ΄νΈλ‘ μΈμ½λ©λ©λλ€. κ·Έλ¦Όμ λμ μλ νκ° UTF-8 μΈμ½λ© λ°©μμ λλ΅μ μΌλ‘ 보μ¬μ£Όκ³ μλλ°μ.
μ½λ ν¬μΈνΈ λ²μλ³λ‘ μ΄ μ½λ ν¬μΈνΈλ₯Ό νννλ λ° μ¬μ©λλ λΉνΈ μκ° λ€λ₯΄κ³ , μ΄λ₯Ό κΈ°λ°μΌλ‘ UTF-8 μΈμ½λ©μ μ§μ λ μΈμ½λ© ꡬ쑰μ λ§μΆ°, κ°λ³ κΈΈμ΄μ λ°μ΄νΈ μνμ€λ‘ λ³ννμ¬ μ μ₯ν©λλ€.

μ’ λ μ΄ν΄νκΈ° μ½λλ‘ λ¬Έμ βκ°βλ₯Ό μΈμ½λ©νλ μμλ₯Ό μ΄ν΄λ³Όκ²μ. λ¬Έμ βκ°βμ μ λμ½λ μ½λ ν¬μΈνΈλ AC00μΌλ‘ UTF-8 μΈμ½λ©μμ 3λ°μ΄νΈκ° νμν λ²μμ μν©λλ€.
AC00μ λΉνΈλ‘ νννλ©΄ κ·Έλ¦Ό νλ¨μ λμ μλ κ°μΌλ‘ ννμ΄ λ©λλ€. μ΄λ₯Ό 3λ°μ΄νΈ μΈμ½λ© ꡬ쑰μ λ§μΆ° κ°μ λ°°μΉνλ©΄, κ·Έλ¦Ό νλ¨ μ€λ₯Έμͺ½μ λμ μλ κ²κ³Ό κ°μ 3λ°μ΄νΈ μνμ€ κ°μ΄ μμ±λ©λλ€. μ΄ 3λ°μ΄νΈ μνμ€λ 16μ§μλ‘ EAB080μΌλ‘ ννν μ μμ΅λλ€. λ°λΌμ λ¬Έμ βκ°βλ UTF-8 μΈμ½λ©μΌλ‘ EAB080μΌλ‘ ννλκ³ , μ μ₯λλ€κ³ λ³Ό μ μμ΅λλ€.
μ΄μ²λΌ λ¬Έμ μ§ν©κ³Ό μ½λ ν¬μΈνΈ, μΈμ½λ©μ λν΄ κΈ°λ³Έ κ°λ μ μ΄ν΄λ΄€μ΅λλ€. μ΄λ¬ν κ°λ λ€μ DBμμ λ¬Έμ λ°μ΄ν°λ₯Ό μ΄λ»κ² μ²λ¦¬νλμ§ μ΄ν΄ν μ μλ μ€μν λΆλΆμ΄λ, κ°λ¨νκ²λΌλ μμλλ κ²μ΄ μ’μ΅λλ€.

λ°μ΄ν° λΉκ΅
μ΄μ 본격μ μΌλ‘ λ¬Έμ λ°μ΄ν° κ°μ λΉκ΅λ μ΄λ»κ² μνλλμ§ μμλ³΄κ² μ΅λλ€. μΌλ°μ μΌλ‘ λ¬Έμμ΄μ λΉκ΅ν λ κ° λ¬Έμμ΄μ λν΄ λ¨Όμ κ°μ€μΉ κ°μ κ³μ°ν ν, λΉκ΅νκ² λλλ°μ. μ λμ½λ κΈ°λ° λ¬Έμ μ§ν©μ μνλ μ½λ μ΄μ μμλ βDUCETβλΌλ λ°μ΄ν° μνΈμ μ μλ κ°μ€μΉ κ°μ μ¬μ©ν΄μ λΉκ΅ν©λλ€.
DUCETλ βDefault Unicode Collation Element Tableβμ μ½μλ‘, μ λμ½λ λ¬Έμλ³λ‘ κ°μ€μΉ κ°μ΄ μ μλμ΄ μλ λ°μ΄ν° μνΈμ λλ€. DUCETμμ λ¬Έμλ³ κ°μ€μΉ κ°μ Primary, Secondary, Tertiaryμ κ°μ΄ λ¨κ³μ μΌλ‘ ꡬμ±λμ΄ μμ΅λλ€.
μμλ‘ νκΈ λ¬Έμ βκΈ°μ(γ±)βμ λν DUCET κ°μ€μΉ κ°μ μ΄ν΄λ³΄λ©΄, μ μΌ μ²« λ²μ§Έ 3131 κ°μ λ¬Έμ κΈ°μμ μ λμ½λ μ½λ ν¬μΈνΈ κ°μ λνλ λλ€. κ·Έ λ€λ‘ λκ΄νΈ μμ λ€μ΄μλ 3κ°μ 16μ§μ κ°μ΄ κ°μ€μΉ κ°μ ν΄λΉν©λλ€.
1λ¨κ³ κ°μ€μΉ κ°μ ν΄λΉνλ Primary Weightλ κΈ°λ³Έμ΄ λλ λ¬Έμλ₯Ό λΉκ΅ν λ μ¬μ©λκ³ , 2λ¨κ³ κ°μ€μΉ κ°μΈ Secondary Weightλ μ μΌνΈλ₯Ό ꡬλΆν λ, 3λ¨κ³ κ°μ€μΉ κ°μΈ Tertiary Weightλ λμλ¬Έμ κ΅¬λΆ μ μ£Όλ‘ μ¬μ©λ©λλ€.
κ·Έλμ μ½λ μ΄μ μ λ°λΌ μ¬μ©λλ κ°μ€μΉ κ°λ λ¬λΌμ§λλ°μ. μ½λ μ΄μ μ΄ ai_ciμΈ κ²½μ°, μ¦ μ μΌνΈμ λμλ¬Έμλ₯Ό ꡬλΆνμ§ μλ κ²½μ°μλ 1λ¨κ³ κ°μ€μΉ κ°κΉμ§ μ¬μ©ν©λλ€. as_ciμ κ²½μ°, μ μΌνΈλ ꡬλΆνκ³ λμλ¬Έμλ ꡬλΆνμ§ μλ κ²½μ°λ‘, 2λ¨κ³ κ°μ€μΉ κ°κΉμ§ μ¬μ©ν©λλ€. λ§μ§λ§μΌλ‘ as_csμ²λΌ μ μΌνΈμ λμλ¬Έμλ₯Ό λͺ¨λ ꡬλΆν λλ 3λ¨κ³ κ°μ€μΉ κ°κΉμ§ μ¬μ©ν©λλ€. μ΄ λΆλΆμ λ€μμ ꡬ체μ μΈ μμλ₯Ό ν΅ν΄, κ°μ€μΉ κ°μ΄ μ΄λ»κ² μ¬μ©λλμ§ λ€μ μ΄ν΄λ³΄κ² μ΅λλ€.
κ·Έλ¦¬κ³ νκΈ μμ μ κ²½μ°, λΆν΄ν΄μ κ°λ³ λ¬Έμμ λν κ°μ€μΉ κ°μ μ‘°ν©ν ν λΉκ΅ν©λλ€. λ¬Έμμ΄μ λν΄ κ³μ°λ κ°μ€μΉ κ°μ μ§μ νμΈν΄ λ³Ό μλ μλλ°μ. MySQLμμ μ 곡νλ Built-in ν¨μμΈ WEIGHT_STRING()
ν¨μλ₯Ό μ¬μ©νλ©΄, λ¬Έμμ΄μ κ°μ€μΉ κ°μ λ°μ΄λ리 ννλ‘ νμΈν μ μμ΅λλ€.

μ΄λ²μ μ€μ DUCET λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘, μ½λ μ΄μ λ³λ‘ λ¬Έμμ κ°μ€μΉ κ°μ΄ μ΄λ»κ² κ³μ°λλμ§ μμλ₯Ό ν΅ν΄ νμΈν΄ λ³΄κ² μ΅λλ€. μ κ·Έλ¦Όμ λμ μλ μμλ λ¬Έμ βκΈ°μ(γ±)βμ λν κ°μ€μΉ κ°μ νμΈνλ κ²μΌλ‘, 첫 λ²μ§Έ λ°μ€μ λμ μλ κ°μ μμμ λ³Έ κ²κ³Ό κ°μ΄ λ¬Έμ κΈ°μμ λν DUCETμ κ°μ€μΉ λ°μ΄ν°μ λλ€. μ΄ λ°μ΄ν°μ ν¨κ» μ€μ MySQLμμ κ³μ°λ κ°μ λΉκ΅ν΄ λ³΄κ² μ΅λλ€.
MySQLμμλ WEIGHT_STRING
ν¨μμ HEX ν¨μλ₯Ό μ¬μ©ν΄, λ¬Έμ κΈ°μμ λν κ°μ€μΉ κ°μ 16μ§μ κ°μΌλ‘ νμΈν μ μμ΅λλ€.
첫 λ²μ§Έλ‘ λ¬Έμ κΈ°μμ λν΄ μ½λ μ΄μ
μ utf8mb4_0900_ai_ci
λ‘ μ€μ ν ν, κ°μ€μΉ κ°μ νμΈν΄ 보면 3BF5 κ°μ΄ λμ¨ κ²μ νμΈν μ μλλ°μ. μ΄λ κ°μ€μΉ λ°μ΄ν°μμ 1λ¨κ³, μ¦ νλΌμ΄λ¨Έλ¦¬ λ¨κ³μ ν΄λΉνλ κ°κ³Ό λμΌν κ²μ μ μ μμ΅λλ€.
κ·Έ λ€μμΌλ‘ utf8mb4_0900_as_cs
μ½λ μ΄μ
μΌλ‘ μ§μ ν, λ€μ κ°μ νμΈν΄ λ΄€μ΅λλ€. μ΄λ κ°μ€μΉ λ°μ΄ν°μ μΈ κ°μ§ κ°μ λν΄, κ°κ°μ κ°μ 0λ°μ΄νΈλ‘ μ°κ²°ν΄ μ‘°ν©ν κ°μ μ΅μ’
μ μΈ κ°μ€μΉ κ°μΌλ‘ μ¬μ©νλ κ²μ μ μ μμ΅λλ€.

λ€μμΌλ‘ λ¬Έμ γ±, γ΄, γ·μ λν΄ utf8mb4_0900_ai_ci
μ½λ μ΄μ
μμμ μ λ ¬ μμ λ° κ°μ€μΉ κ°μ νμΈν΄ λ³΄κ² μ΅λλ€.
μ κ·Έλ¦Όμ μΌμͺ½κ³Ό κ°μ΄ ν΄λΉ κ°λ€μ μ μ₯ν ν μ΄λΈμ νλ λ§λ€κ³ , κ°μ μ μ₯ν ν μ€λ₯Έμͺ½κ³Ό κ°μ΄ μ λ ¬ μμμ κ°μ€μΉ κ°μ νμΈν΄ 보면, κ°μ€μΉ κ° μμλλ‘ λ°μ΄ν°κ° μ λ ¬λμ΄ λ°νλ κ²μ μ μ μμ΅λλ€.
μ΄λ€ μ½λ μ΄μ
μ μ¬μ©νλμ§μ λ°λΌμ λ¬Έμλ₯Ό λΉκ΅ν κ²°κ³Όλ μ λ ¬ν κ²°κ³Όκ° λ¬λΌμ§ μ μλλ°μ. λ°λΌμ νμν κ²½μ°μλ μ΄μ²λΌ WEIGHT_STRING
ν¨μλ₯Ό μ¬μ©ν΄, μ€μ κ³μ°λ κ°μ€μΉ κ°μ μ§μ νμΈνλ κ²λ μ’μ λ°©λ²μ
λλ€.
μ½λ μ΄μ μ€μ νκΈ°

λ€μμΌλ‘ μ½λ μ΄μ μ€μ μ λλ€. MySQLμμ μ½λ μ΄μ μ€μ μ κΈλ‘λ² μμ€μμλΆν° λ°μ΄ν°λ² μ΄μ€, ν μ΄λΈ, κ·Έλ¦¬κ³ κ°λ³ μ»¬λΌ λ¨μκΉμ§ μΈλ°νκ² μ§μ μ΄ κ°λ₯ν©λλ€.
μ°μ κΈλ‘λ²ν μ½λ μ΄μ μ€μ μ MySQL μλ² μ 체μ μ μ©λκ³ , λ°μ΄ν°λ² μ΄μ€λ ν μ΄λΈ λ± νμ μ€λΈμ νΈλ€μ κ·Έ κ°μ μμλ°μ΅λλ€. μ¬μ©μκ° MySQL μλ²μ νΉλ³ν μ½λ μ΄μ μ μ§μ νμ§ μμ κ²½μ°, MySQL μλ²μ μ€μ λ λ¬Έμ μ§ν©μ λν κΈ°λ³Έ μ½λ μ΄μ κ°μ΄ μλ²μ κΈλ‘λ² μ€μ μΌλ‘ μλ μ§μ λ©λλ€.
λ§μ½ λ¬Έμ μ§ν©μ λν΄ νΉλ³ν κ°μ μ€μ νμ§ μμλ€λ©΄, κΈ°λ³Έμ μΌλ‘ utf8mb4
λ¬Έμ μ§ν©μΌλ‘ μ€μ λκ³ , μ½λ μ΄μ
λ utf8mb4
λ¬Έμ μ§ν©μ κΈ°λ³Έ μ½λ μ΄μ
μΈ utf8mb4_0900_ai_ci
μ½λ μ΄μ
μΌλ‘ μ€μ λ©λλ€.
κ° λ¬Έμ μ§ν©λ³ κΈ°λ³Έ μ½λ μ΄μ
μ νμΈνκ³ μΆλ€λ©΄, μμ μ΄ν΄λ΄€λ SHOW COLLATION
λͺ
λ Ήμμ λν΄νΈ μ»¬λΌ κ°μ΄ YesμΈ μ½λ μ΄μ
μ νμΈνκ±°λ, κ·Έλ¦Όμμμ²λΌ information_schema
λ°μ΄ν°λ² μ΄μ€μ CHARACTER_SETS
ν
μ΄λΈμ μ‘°νν΄ νμΈν μ μμ΅λλ€.
MySQL μλ²μμ νΉμ λ¬Έμ μ§ν©μ΄λ μ½λ μ΄μ
μ μ§μ μ§μ ν΄μ κΈλ‘λ²νκ² μ μ©νκ³ μΆλ€λ©΄, character_set_server
μ collation_server
μ€μ λ³μμ κ°μ μ§μ νλ©΄ λ©λλ€.
λ§μΉλ©°

μμ μ½λ μ΄μ μ μ’ λ μΈλ°ν λ¨μλ‘λ μ€μ ν μ μλ€κ³ λ§νλλ°μ. κΈλ‘λ²νκ² μ€μ λ μ½λ μ΄μ κ°κ³Όλ λ³κ°λ‘ λ°μ΄ν°λ² μ΄μ€, ν μ΄λΈ, 컬λΌλ³λ‘ λ 립μ μΌλ‘ μ½λ μ΄μ μ μ§μ ν μ μμ΅λλ€.
μ μμμ κ°μ΄ κ° μ€λΈμ νΈλ€μ μμ±ν λ, βCOLLATEβλΌλ ν€μλμ ν¨κ» μ¬μ©νκ³ μ νλ μ½λ μ΄μ λͺ μ μ§μ ν μ μμ΅λλ€. λν ALTER λͺ λ Ήμ μ¬μ©ν΄ λμΌν ννλ‘ μ΄λ―Έ μ€μ λμ΄ μλ μ½λ μ΄μ μ λ³κ²½ν μλ μμ΅λλ€.
λ€μ νΈμμλ μ΄λ¬ν μ½λ μ΄μ μ μ¬μ©ν λ μ£Όμν΄μΌ ν μ μ λν΄ μ΄ν΄λ³΄κ² μ΅λλ€.