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标识

相关推荐
实泽有之,无泽虚之40 分钟前
ORA-12518:Oracle 监听程序无法分发客户端连接原因及解决方法
数据库·oracle
Elastic 中国社区官方博客41 分钟前
组合 OpenTelemetry 参考架构
大数据·数据库·elasticsearch·搜索引擎·架构
zs宝来了43 分钟前
MySQL 执行计划深度解析:EXPLAIN 执行计划全字段解读
mysql·explain·执行计划·查询优化
Z_Wonderful44 分钟前
在 **Next.js** 中使用 `mysql2` 连接 MySQL 数据库并查询 `xxx` 表的数据
android·数据库
FirstFrost --sy1 小时前
MySql 内外连接
android·数据库·mysql
watersink1 小时前
第16章 案例特训专题【数据库篇】
数据库
爬山算法1 小时前
MongoDB(78)什么是MongoDB的事务?
数据库·mongodb
卤炖阑尾炎1 小时前
MySQL 主从复制与读写分离:从原理到实战全解析
mysql·adb
ego.iblacat1 小时前
MySQL 高可用
数据库·mysql·adb
阿里小阿希1 小时前
PostgreSQL 判断大导入是否正在执行 pg_stat_activity
数据库·postgresql