前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql char与varchar类型的区别

mysql char与varchar类型的区别

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

基本区别

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 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档