본문 바로가기
IT/Database

[Mysql] Specified key was too long

by 성준하이 2024. 1. 23.
반응형

특정 테이블에 index를 걸고자 할때 아래 에러가 발생하였다.

 

Error Code: 1071. Specified key was too long; max key length is 3072 bytes

 

원인은 해석 그대로 이다.

 

인덱스에 사용하는 글자 최대 크기가 정해져있다는것이다.

 

테이블에 사용하는 인코딩은  UTF8MB4 였고 여기서 한 글자당 4byte를 잡아먹는다.

 

3072 바이트를 넘을수 없다면 대략 750 글자까지만 허용이 가능하다.

 

인코딩에 따라 글자 byte수가 다르니 확인해야하고,

인덱스는 별도의 공간을 차지하기에 이렇게 큰 값은 인덱스로 배제하는것이 좋은 선택일듯 싶다.

반응형

댓글