MySQL 키 길이 제한 및 수정
두 개의 VARCHAR 열에 고유 인덱스를 생성하려고 하면 사용자에게 "# 1071 - 지정된 키가 너무 깁니다. 최대 키 길이는 767바이트입니다. 이 오류는 MySQL의 키 길이 제한으로 인해 발생합니다.
키 길이 제한 이해
MySQL 버전 5.6 이하에서는 최대 키 길이가 767입니다. InnoDB 테이블의 바이트입니다. 이 제한은 고유 키 내에서 인덱싱된 모든 필드의 조합에 적용됩니다. MyISAM 테이블의 경우 이 제한은 1,000바이트입니다.
UTF-8 문자 인코딩 요소
UTF-8 문자 인코딩(utf8mb4)을 사용할 때 다음 사항에 유의하는 것이 중요합니다. 단일 문자를 나타내기 위해 최대 4바이트를 사용합니다. 결과적으로 767바이트의 최대 인덱스 접두사 길이는 utf8mb4 인코딩 필드의 경우 191자로 효과적으로 줄어듭니다.
가능한 솔루션
ALTER TABLE `mytable` ADD UNIQUE ( column1(15), column2(200) );
MySQL 버전 5.7 이상에서는 최대 키 길이가 3072바이트로 증가되어 큰 키를 처리할 때 더 많은 유연성을 제공합니다. 그러나 키 길이 오류를 방지하려면 문자 인코딩 요소와 데이터 모델 최적화를 고려하는 것이 여전히 중요합니다.
위 내용은 내 MySQL 고유 인덱스가 너무 긴 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!