일반적으로 utf8_general_ci 는 utf8_unicode_ci 보다 빠르지 만 덜 정확합니다.
차이점은 다음과 같습니다.
유니 코드 문자 집합의 경우 _general_ci 데이터 정렬을 사용하여 수행 된 작업은 _unicode_ci 데이터 정렬보다 빠릅니다. . 예를 들어, utf8_general_ci 데이터 정렬에 대한 비교는 utf8_unicode_ci에 대한 비교보다 빠르지 만 약간 덜 정확합니다. 그 이유는 utf8_unicode_ci가 확장과 같은 맵핑을 지원하기 때문입니다. 즉, 한 문자가 다른 문자의 조합과 같을 때. 예를 들어 독일어 및 일부 다른 언어에서 "ß"는 "ss"와 같습니다. utf8_unicode_ci는 수축 및 무시할 수있는 문자도 지원합니다. utf8_general_ci는 확장, 축소 또는 무시할 수없는 문자를 지원하지 않는 레거시 데이터 정렬입니다. 문자를 일대일로 비교할 수 있습니다.
인용 :
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
자세한 설명은 MySQL 포럼에서 다음 게시물을 읽으십시오.
http://forums.mysql.com/read.php?103,187048,188748
utf8_bin의 경우 : utf8_general_ci 및 utf8_unicode_ci 는 대소 문자를 구분하지 않는 비교를 수행합니다. 반대로, utf8_bin은 문자 의 이진 값을 비교하기 때문에 대소 문자를 구분합니다 (다른 차이점 중에서도).
utf8
하려면utf8mb4
대신 사용하십시오 . 이 인기있는 질문에 대한 답변이 이것을 다루지 않기 때문에 여기에 주석을 답니다. mathiasbynens.be/notes/mysql-utf8mb4