首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mysql char与varchar类型的区别

mysql char与varchar类型的区别

作者头像
dys
发布2018-04-02 16:18:01
发布2018-04-02 16:18:01
2.1K0
举报
文章被收录于专栏:性能与架构性能与架构

基本区别

char 是固定长度的,varchar 是可变长度的

char 如果某个长度小于M,MySQL就会在它的右边用空格补足,使长度达到M

varchar 每个值只占用刚好够用的字节,再加上一个用来记录其长度的字节,当长度小于255时,长度记录位占一个字节,大于时,占用两个字节

最大长度是多少?

char 的最大长度是 255 个字符(注意 不是字节)

varchar 的最大长度是 65535 个字节(注意 不是字符)

定义字段时,char(n) 或 varchar(n) 中的 n 是指字符数

当使用utf8编码时,一个字符占3个字节

因为char是定义字符数,所以可以定义 char(255),而不能定义 varchar(65535),因为varchar的最大长度是65535个字节,那么最大长度不能超过21845个字符,mysql utf8编码下 varchar的最大长度实测为21589

适用场景

char 不需计算,占空间

varchar 需计算,省空间

char 适应于长度短、长度相对固定的字段,例如邮编、UUID,还有频繁改变内容的列,因为省去了char不需要频繁计算内容长度

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档