반응형
utf8_unicode_ci와 utf8mb4_0900_ai_ci의 차이점은 무엇입니까?
사이의 차이점은 무엇입니까?utf8mb4_0900_ai_ci
그리고.utf8_unicode_ci
데이터베이스 텍스트 코딩은 mysql에서 (특히 성능 면에서)?
업데이트:
utf8mb4_unicode_ci와 utf8mb4_0900_ai_ci 사이에 유사한 차이점이 있습니까?
- 부호화는 같습니다.즉, 바이트가 동일하게 보입니다.
- 캐릭터 세트가 다릅니다.utf8mb4는 더 많은 문자를 가지고 있습니다.
- 대조(비교를 수행하는 방법)가 다릅니다.
- 공연은 다르지만 거의 문제가 되지 않습니다.
utf8_unicode_ci
암시적으로CHARACTER SET utf8
, 여기에는 1, 2, 3바이트 UTF-8 문자만 포함됩니다.따라서 대부분의 이모지와 일부 한자는 제외됩니다.
utf8mb4_unicode_ci
암시적으로CHARACTER SET utf8mb4
이에 해당합니다.COLLATION
4바이트의CHARACTER SET utf8mb4
.
유니코드 조직은 수년간 규격을 진화시켜 왔습니다."버전"에서 MySQL Collections로의 매핑은 다음과 같습니다.
4.0 _unicode_
5.20 _unicode_520_
9.0 _0900_
14.0 _uca1400_ai_ci etc. as/ai and cs/ci (MariaDB-10.10, not MySQL)
대부분의 차이는 대부분의 사람들이 결코 마주치지 않는 분야에 있을 것입니다.한 가지 예:어느 시점에서 변화는 이모지를 구별하고 어떤 방식으로든 질서를 잡을 수 있게 했습니다.
접미사(MySQL 문서):
_bin -- just compare the bits; don't consider case folding, accents, etc
_ci -- explicitly case insensitive (A=a) and implicitly accent insensitive (a=á)
_ai_ci -- explicitly case insensitive and accent insensitive
_as (etc) -- accent-sensitive (etc)
성능:
_bin -- simple, fast
_general_ci -- fails to compare multiple letters; eg ss=ß, so somewhat fast
... -- slower
_900_ -- (8.0) much faster because of a rewrite
단,대조 속도는 일반적으로 쿼리에서 성능 문제가 가장 적습니다.INDEXes
,JOINs
, 하위 쿼리, 테이블 스캔 등이 성능에 훨씬 더 중요합니다.
언급URL : https://stackoverflow.com/questions/54885178/whats-the-difference-between-utf8-unicode-ci-and-utf8mb4-0900-ai-ci
반응형
'programing' 카테고리의 다른 글
팬더는 조건이 충족되는 행에만 적용됩니다. (0) | 2023.09.13 |
---|---|
사용자가 카메라 사용을 허락했는지 확인하는 방법은? (0) | 2023.09.13 |
문자열을 C#의 DateTime에 구문 분석 (0) | 2023.09.13 |
텍스트 파일 및 콘솔에 오류 및 출력 쓰기 (0) | 2023.09.13 |
Jquery: 요소에 특정 CSS 클래스/스타일이 있는지 확인하는 방법 (0) | 2023.09.13 |