Skip to content
目录概览

若一张表中只有一个字段 VARCHAR(N)类型,utf8 编码,则 N 最大值为多少(精确到数量级即可)?

由于 utf8 的每个字符最多占用 3 个字节。而 MySQL 定义行的长度不能超过65535,因此 N 的最大值计算方法为:(65535-1-2)/3。

减去 1 的原因是实际存储从第二个字节开始; 减去 2 的原因是因为要在列表长度存储实际的字符长度; 除以 3 是因为 utf8 限制; 每个字符最多占用 3 个字节。