취미처럼

[Mysql] utf8_general_ci VS utf8_unicode_ci 본문

Database/이론

[Mysql] utf8_general_ci VS utf8_unicode_ci

sirius 2021. 4. 15. 13:56

https://forums.mysql.com/read.php?103,187048,188748#msg-188748

 

MySQL :: MySQL Forums

Forums Topics Posts Last Post Announcements MySQL related Product and Service announcements. 1,204 1,295 October 11, 2022 07:44PM Topics Posts Last Post 137 152 November 02, 2022 06:44PM Newbie Forum for New Users of MySQL. 63,991 193,115 November 08, 2022

forums.mysql.com

So when you need better sorting order - use utf8_unicode_ci,
and when you utterly interested in performance - use utf8_general_ci.

 

 

utf8_general_ci 는 accents(예, ÀÁÅåāă)가 없으며 그것들은 해당 단어의 대문자(앞의 예제의 경우 'A')로 변환한다.
이렇게 모든 경우를 대문자로 변환하는 경우, 문자 비교시에 소문자보다는 작게 되므로 정렬이 정확히 이루지지 않는다. 즉, 'ÀÁÅåāă'는 모두 'a'와 같으므로 정렬 비교시에 swap되지 않을 것이며, 'åāă'는 대문자 'A'와 같은 순서에 나오게 된다.

accent 문자까지 정확하게 정렬해야 되는 경우에는 utf8_unicode_ci

성능을 위해서는 utf8_general_ci를 쓰는게 좋다.

Comments