UTF-8 열의 MySQL varchar 인덱스 길이 이해
MySQL에서 varchar(n) 열의 인덱스 길이는 다음에서 지정됩니다. 바이트가 아닌 문자입니다. 그러나 MySQL은 각 UTF-8 문자가 3바이트를 차지한다고 가정합니다. 즉, 지정된 인덱스 길이가 n인 varchar 열의 경우 인덱스할 수 있는 실제 최대 바이트 수는 3n입니다.
분류하려면:
UTF-8 열의 인덱스 크기에 미치는 영향
문자당 3바이트를 가정한 경우, MySQL은 UTF-8 문자 집합을 사용하는 varchar 열의 인덱스 크기에 실질적인 제한을 적용합니다.
동적 및 압축된 행 형식에 대한 고려 사항
MySQL 버전 8.0 이상에서는 DYNAMIC을 사용하여 InnoDB 테이블의 varchar 열에 대한 최대 인덱스 크기를 잠재적으로 늘릴 수 있습니다. 또는 COMPRESSED 행 형식. 이러한 행 형식은 더 긴 접두사 길이를 허용하여 인덱스 크기 제한을 효과적으로 늘립니다. 그러나 이 최적화는 5.5.27을 포함한 이전 MySQL 버전에서는 지원되지 않습니다.
인덱스 디자인에 대한 권장 사항
UTF-8을 사용하여 varchar 열에 대한 인덱스를 디자인하는 경우 문자 집합을 사용하는 경우 다음을 수행하는 것이 좋습니다.
위 내용은 MySQL은 UTF-8 열의 VARCHAR 인덱스 길이를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!