MySQL에서 어떤 조합을 선택해야 합니까?
phpMyAdmin을 통해 새 MySQL 데이터베이스를 만들 때 조합(예: -default, armsci8, ascii, ... 및 UTF-8)을 선택할 수 있습니다.제가 아는 것은 UTF-8입니다. 왜냐하면 저는 항상 이것을 HTML 소스 코드로 보기 때문입니다.그러나 기본 데이터 정렬은 무엇입니까?이러한 선택의 차이점은 무엇이며, 어떤 선택을 사용해야 합니까?
정렬은 문자열 일치 및 정렬을 수행하는 방법을 데이터베이스에 알려줍니다.문자 집합과 일치해야 합니다.
UTF-8을 사용하는 경우, 조합은 다음과 같아야 합니다.utf8_general_ci
이것은 유니코드 순서로 정렬되며(대소문자 구분 안 함) 대부분의 언어에서 작동합니다.또한 ASCII 및 Latin1 순서도 유지합니다.
기본 데이터 정렬은 일반적으로 다음과 같습니다.latin1
.
데이터 정렬은 실제로 기본값이 아니라 기본 데이터 정렬을 첫 번째 선택으로 제공합니다.
데이터베이스가 텍스트 유형에 사용할 문자 집합인 데이터 정렬에 대해 설명합니다.기본 옵션은 일반적으로 지역 설정을 기반으로 하기 때문에 글로벌화를 계획하지 않는 한 일반적으로 피치키색입니다.
또한 대조를 통해 대/소문자의 민감도(예: 'Big' == 'Big'인가?)를 확인할 수 있습니다.CI의 경우).MySQL 목록에서 모든 옵션을 확인합니다.
단답: 항상 사용utf8mb4
(구체적으로)utf8mb4_unicode_ci
) MySql & MariaDB에서 데이터 정렬을 처리할 때 사용합니다.
긴 답변:
MySQL의 utf8 인코딩은 적절한 UTF-8 인코딩과 다르기 때문에 이름이 어색합니다.Unicode를 완전히 지원하지 않으므로 데이터 손실 또는 보안 취약성이 발생할 수 있습니다.
다행히도 MySQL 5.5.3(2010년 초 출시)은 적절한 UTF-8에 매핑되어 유니코드를 완전히 지원하는 utf8mb4라는 새로운 인코딩을 도입했습니다.
여기에서 전문을 읽어 보십시오. https://mathiasbynens.be/notes/mysql-utf8mb4
구체적으로 어떤 것에 관하여utf8mb
선택하기, 함께하기utf8mb4_unicode_ci
따라서 정렬은 항상 최소한의 성능 결함으로 적절하게 처리됩니다.자세한 내용은 여기를 참조하십시오.utf8_general_ci와 utf8_unicode_ci의 차이점은 무엇입니까?
언급URL : https://stackoverflow.com/questions/1231105/in-mysql-which-collation-should-i-choose
'programing' 카테고리의 다른 글
잘못된 조합의 데이터 정렬 및 최대 절전 모드 (0) | 2023.07.30 |
---|---|
고급 MySql 쿼리: 다른 테이블의 정보로 테이블 업데이트 (0) | 2023.07.30 |
패딩 구조물을 확장할 때, 왜 여분의 필드를 테일 패딩에 배치할 수 없습니까? (0) | 2023.07.25 |
Dapper.NET을 사용하여 저장 프로시저 호출에서 Oracle OUT 매개 변수 값을 가져옵니다. (0) | 2023.07.25 |
도메인 간 Ajax 요청을 보내는 Phonegap-Javascript (0) | 2023.07.25 |