MySQL에서 utf8mb4_0900_ai_ci와 utf8mb4_unicode_ci는 둘 다 utf8mb4 문자셋을 사용하는 대소문자 무시(_ci: case-insensitive) 비교(collation) 방식이지만, 주요한 차이점이 있습니다.

🔹 utf8mb4_unicode_ci

  • MySQL 5.5+ 버전에서 사용되는 표준 유니코드 정렬 방식
  • Unicode 4.0 기준으로 정렬 및 비교 수행
  • 일부 문자(예: 이모지, 특수 문자)에 대한 정렬이 최신 유니코드 표준과 다를 수 있음

특징:

  • MySQL 5.5부터 제공되며 널리 사용됨
  • 성능은 utf8mb4_general_ci보다는 느리지만 정확함
  • 최신 유니코드 규칙을 반영하지 못할 수 있음

🔹 utf8mb4_0900_ai_ci

  • **MySQL 8.0+**에서 제공하는 새로운 유니코드 정렬 방식
  • Unicode 9.0 기준으로 정렬 및 비교 수행
  • AI (Accent-Insensitive): 악센트 무시 (é == e)
  • CI (Case-Insensitive): 대소문자 무시 (A == a)
  • 성능이 개선되었으며 더 정확한 유니코드 정렬을 지원

특징:

  • MySQL 8.0 이상에서 권장됨
  • 최신 유니코드 표준을 반영하여 더 정확한 정렬 방식 제공
  • 성능 최적화됨

 

🔹 정리 (비교)

비교 항목utf8mb4_unicode_ciutf8mb4_0900_ai_ci

MySQL 버전 5.5 이상 8.0 이상
유니코드 버전 4.0 9.0
대소문자 구분 안 함 안 함
악센트 구분 옵션 가능 (utf8mb4_unicode_cs 사용) 안 함 (ai는 Accent-Insensitive)
이모지 지원 일부 제한 있음 더 정확한 비교 가능
정렬 정확도 상대적으로 낮음 최신 표준 적용

📌 MySQL 8.0 이상을 사용한다면 utf8mb4_0900_ai_ci를 권장
📌 MySQL 5.7 이하에서는 utf8mb4_unicode_ci를 사용

 

+ Recent posts