gpt4 book ai didi

mysql - 如果唯一键很长,将 MYISAM 表转换为 INNODB

转载 作者:行者123 更新时间:2023-11-29 00:32:28 25 4
gpt4 key购买 nike

由于MYISAM每次都会锁住整张表,所以我在考虑将我的MYISAM表转换成InnoDB。但是,INNODB 要求唯一键和主键在 767 字节以内。

所以,我收到了这个错误:-

#1071 - Specified key was too long; max key length is 767 bytes 

我的唯一 key 有点长。那么,将我的表转换为 INNODB 的最佳方法是什么?

这是描述我的表的屏幕截图

enter image description here

谢谢

最佳答案

假设在屏幕截图中看到的键就是您所拥有的,这里有问题的键是 query_id。作为一个 300 个字符的 UTF8 列,它最终只使用了 900 个字节。

您需要将索引限制在该列的一部分——比如说,可能是前 100 个字符?

DROP INDEX query_id ON tablename
CREATE INDEX query_id ON tablename (query_id, position, prod(100))

关于mysql - 如果唯一键很长,将 MYISAM 表转换为 INNODB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15899479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com