Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql ::Lỗi:Khóa được chỉ định quá dài; độ dài khóa tối đa là 1000 byte

Đây chỉ là vấn đề MySQL -

MySQL có các công cụ khác nhau - MyISAM, InnoDB, Bộ nhớ ...

MySQL có các giới hạn khác nhau về dung lượng bạn có thể sử dụng xác định các chỉ mục trên (các) cột - đối với MyISAM là 1.000 byte; đó là 767 cho InnoDB . Và kiểu dữ liệu của các cột đó rất quan trọng - đối với VARCHAR , nó gấp 3 lần nên một chỉ mục trên VARCHAR(100) sẽ chiếm 300 byte trong số đó (vì 100 ký tự * 3 =300).

Để phù hợp với một số lập chỉ mục khi bạn đạt đến giá trị trần, bạn có thể xác định chỉ mục liên quan đến các phần của kiểu dữ liệu cột:

CREATE INDEX example_idx ON YOUR_TABLE(your_column(50))

Giả sử rằng your_columnVARCHAR(100) , chỉ mục trong ví dụ trên sẽ chỉ nằm trên 50 ký tự đầu tiên. Tìm kiếm dữ liệu vượt quá ký tự thứ 50 sẽ không thể sử dụng chỉ mục.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng chú giải thuật ngữ cơ sở dữ liệu DevOps cho người mới làm quen với MySQL

  2. Cách hoạt động của hàm RPAD () trong MySQL

  3. Làm cách nào để bạn kết nối với nhiều cơ sở dữ liệu MySQL trên một trang web?

  4. Tìm nạp danh sách liên kết trong cơ sở dữ liệu MySQL

  5. hiển thị một hình ảnh được lưu trữ trong một blob mysql