了解 UTF-8 列的 MySQL varchar 索引长度
在 MySQL 中,varchar(n) 列的索引长度在字符,而不是字节。然而,MySQL 假定每个 UTF-8 字符占用 3 个字节。这意味着对于指定索引长度为 n 的 varchar 列,实际可以索引的最大字节数为 3n。
细分:
对 UTF-8 列索引大小的影响
基于每个字符 3 个字节的假设,MySQL 对具有 UTF-8 字符的 varchar 列的索引大小
动态和压缩行格式的考虑
在 MySQL 版本 8.0 及更高版本中,您可以增加最大索引使用动态或压缩行格式的 InnoDB 表中 varchar 列的大小。这些行格式允许更长的前缀长度,有效地增加了索引大小限制。但是,早期 MySQL 版本(包括 5.5.27)不支持此优化。
索引设计建议
使用 UTF-8 为 varchar 列设计索引时字符集,建议:
以上是MySQL 如何处理 UTF-8 列的 VARCHAR 索引长度?的详细内容。更多信息请关注PHP中文网其他相关文章!