MySQL VARCHAR 인덱스 길이
MySQL 테이블의 최대 인덱스 길이는 767바이트입니다. 이는 열별로 계산되므로 복합 인덱스는 총 767바이트를 초과할 수 없습니다. 그러나 이 규칙에는 몇 가지 예외가 있습니다.
특정 경우:
생성한 인덱스가 최대 인덱스 길이인 767바이트를 초과하여 사용되지 않습니다. 이는 MySQL이 UTF-8 문자당 3바이트, 512자 * 3바이트/문자 = 1536바이트를 가정하기 때문입니다.
이 문제를 해결하려면 다음을 수행할 수 있습니다.
색인 길이를 255자로 줄이거나 적습니다.
ALTER TABLE products ADD INDEX (name(255));
innodb_large_prefix 구성 옵션을 활성화하고 DYNAMIC 또는 COMPRESSED 행 형식을 사용하세요.
SET innodb_large_prefix = ON; ALTER TABLE products ROW_FORMAT=COMPRESSED;
추가 참고:
위 내용은 내 MySQL VARCHAR(512) 인덱스가 사용되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!