[MySQL] character set & collation

Jiwon·2022년 8월 8일
0

character set

encoding 방식

한글을 사용하기 위해선 utf8 인코딩 방식을 따라야 한다.

보통 이모지까지 표현할 수 있는 인코딩 방식인
utf8mb4 를 많이 사용한다.

show character set;

위의 명령어를 통해서 지원하는 인코딩 목록을 확인할 수 있다.

collation

데이터 비교를 위한 문자들의 순서

character set에 의해 저장된 데이터들이 어떤 방식으로 정렬(order by) 될지를 결정하는 옵션.

mysql 은 collation 속성을 통해서 텍스트 데이터들의 정렬방식을 결정한다.

show collation;

위의 명령어로 확인 가능하다.

utf8_unicode_ci
유니코드 표준을 기반으로 정렬한다.
사람이 사용할 수 있는 거의 모든 언어들이 표현되어 있으며 이를 기준으로 정렬하는 방식이다.

utf8_general_ci
정렬 속도 향상을 위해서 일반적으로 잘 사용되지 않는 문자들을 정렬 기준에서 제외한 방법이다.

예를 들어 알파벳은 일반적으로 많이 사용되는 반면, 'ÀÁÅåāă' 와 같은 문자들은 거의 사용하지 않는다.
그래서 굳이 사용하지 않는 문자들까지 정렬 기준에 포함하여 엄격하게 나누어 모두 'A'와 같은 우선순위로 인식해서 정렬 수행속도를 빠르게 하자는 취지로 개발되었다고 한다.

결론적으로,
이모티콘을 많이 사용하는 시대이기 때문에
utf8mb4 , utf8mb4_unicode_ci 를 사용하는 것이 좋다.

general_ci 가 더 현명해 보이지만 CPU 성능이 상승하고 그에 따라 수행속도에 대한 이슈도 크게 중요하지 않기에, 더 세계화되고 모든 언어를 지원하는 것이 수행 성능보다 더 중요시 되기 때문이다.


https://dinn.github.io/dev%20tip/db-collation/
https://jadehan.tistory.com/55

profile
과연 나는 ?

0개의 댓글