Py学习  »  Nicola Pedretti  »  全部回复
回复总数  1

我的回答只会增加塞尔瓦马尼的回答。

你可能还需要改变任何 SET NAMES utf8 带查询 SET NAMES utf8mb4 . 这对我来说是个骗局。

也, this is a great article 将您的网站从utf8移植到utf8mb4。特别是在将索引和修复表转换为utf8mb4之后,本文在索引和修复表方面提出了两点优点:

指标

从utf8转换为utf8mb4时,列的最大长度 或者索引键的字节数不变。因此,它更小 在字符方面,因为字符的最大长度是 现在是四个字节而不是三个。[…]innodb存储引擎的最大索引长度为767字节,因此对于utf8或utf8mb4列,最多可以分别索引255或191个字符。如果当前有索引长度超过191个字符的utf8列,则在使用utf8mb4时需要索引较少的字符。

修理桌子

在升级mysql服务器并进行必要的更改之后 如上所述,请确保修复和优化所有数据库 桌子。升级后我没有马上做这个(我不认为 是必要的,因为乍一看一切都很好, 遇到一些奇怪的错误,更新语句没有任何 效果,即使没有抛出错误。

阅读本文中有关修复表的查询的更多信息。