前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >mysql的varchar到底能存多少个字符

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

作者头像
九转成圣
发布2024-04-10 17:01:43
发布2024-04-10 17:01:43
63500
代码可运行
举报
文章被收录于专栏:csdncsdn
运行总次数:0
代码可运行

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

结论

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

注意

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

测试环境

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

代码语言:javascript
代码运行次数:0
复制
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标识

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mysql的varchar到底能存多少个字符
  • 结论
  • 注意
  • 测试环境
  • 单列
  • 多列
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档