mysql的varchar到底能存多少个字符

mysql的varchar到底能存多少个字符

结论

(65535字节-其他列所占用的子节-varchar列长度-null标识占用字节数)/3,向下取整.

注意

  • 4.0版本及以下,MySQL中varchar长度单位是字节,如varchar(20),指的是20字节
  • 5.0版本及以上,MySQL中varchar长度单位是字符。如varchar(20),指的是20字符

测试环境

mysql5.7,存储引擎innodb,utf8字符集

复制代码
GBK编码:
一个英文字符占一个字节,中文2字节,单字符最大可占用2个字节。

UTF-8编码:
一个英文字符占一个字节,中文3字节,单字符最大可占用3个字节。

utf8mb4编码:
一个英文字符占一个字节,中文3字节,单字符最大占4个字节(如emoji表情4字节)。

单列

(65535-3)/3=21844

多列

(65535-其他列占用的总字节数)/3,向下取整

21844-255=21589

因为255也要占用额外的空间存储长度和null标识,实际需要255*3+长度+null标识

相关推荐
一只旭宝几秒前
预约系统版本2(pyhton+flask可视化版本)
服务器·数据库·c++·笔记·python·flask
__zRainy__3 分钟前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
痕迹运维5 分钟前
MySQL8 Docker容器化部署之C86架构(海光CPU)
mysql
程序员夏洛6 分钟前
MySQL 中如果发生死锁应该如何解决?
数据库·mysql
肠畔码农11 分钟前
Redis 深度内核解析与高性能运维调优指南
运维·数据库·redis
钱六两19 分钟前
SpringAI集成RAG实操(postgresql+pgvector)中(集成到项目中)
数据库·postgresql
万维易源30 分钟前
油价行情数据接口整理:国际原油与国内成品油
大数据·数据库·原油·油价
TDengine (老段)41 分钟前
TDengine 如何支撑金隅集团水泥业务的能源精细化管控
大数据·数据库·物联网·能源·时序数据库·tdengine·涛思数据
破土士V1 小时前
【MySQL基础知识】数据库约束&联合查询&索引
数据库·mysql·索引·联合查询·数据库约束