js

utf8mb4_general_ci와 utf8mb4_unicode_ci

발전생 2021. 8. 17. 20:39

ci는 무엇일까?

case insensitive sorting and comparison에서 앞 두 단어의 앞 글자를 따서 만들어졌다.

대소문자 가리지 않는 정렬, 비교 방식이라는 의미이다.

 

차이는 무엇일까?

utf8mb4_unicode_ci는 general_ci보다 나중에 나왔다.

둘은 비교와 정렬에 사용하는 알고리즘에 차이가 있다.

utf8mb4_unicode_ci는 utf8mb4_general_ci보다 정렬, 비교 알고리즘이 복잡하다.

그래서 시간은 아주 조오오오금 더 오래 걸리지만 나은 정확도를 보인다.

현대의 컴퓨터는 충분히 빠르기 때문에 차이를 느낄 수 없는 속도라고 한다.

 

지금은 다른 버전도 나왔다. 

utf8mb4_0900_ai_ci

 

보다 자세한 건 stack overflow에서 확인할 수 있다.

https://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci

 

What's the difference between utf8_general_ci and utf8_unicode_ci?

Between utf8_general_ci and utf8_unicode_ci, are there any differences in terms of performance?

stackoverflow.com