Phiên bản nào? CHARACTER SET
gì ? Và các vấn đề khác. Trước phiên bản 5.5, đã có CHARACTER SET utf8
, cần tối đa 3 byte cho mỗi ký tự, nhưng không cần utf8mb4
, cần đến 4. Với 5,7 (10,2?), vấn đề đã được 'giải quyết'. Trong khi đó, một chỉ mục đã được giới hạn ở 767 byte; không phải nó là 3072.
Chỉ mục của bạn trên VARCHAR(500)
cần 1500 hoặc 2000 byte.
Đây là danh sách 5 điều tôi có thể làm: http://mysql.rjweb .org / doc.php / limit # 767_limit_in_innodb_indexes
Bạn cần phải chọn trong số họ dựa trên lỗ hổng nào mà bạn có thể sống chung.