栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySql中 char 与 varchar的区别与选择

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySql中 char 与 varchar的区别与选择

MySql中 char 与 varchar的区别与选择

区别:

  • CHAR 是定长的,而 VARCHAR 是可以变长。

  • CHAR 会根据声明的字符串长度分配空间,并会使用空格对字符串右边进行尾部填充。所以在检索 CHAR 类型数据时尾部空格会被删除,如保存的是字符串 'char ',但最后查询到的是 ‘char’。又因为长度固定,所以存储效率高于 VARCHAR 类型。

  • VARCHAR 在 MySQL 5.0 之后长度支持到 65535 字节,但会在数据开头使用额外 1~2 个字节存储字符串长度(列长度小于 255 字节时使用 1 字节表示,否则 2 字节),在结尾使用 1 字节表示字符串结束。

  • 在存储方式上,CHAR 对英文字符(ASCII)占用 1 字节,对一个汉字使用用 2 字节。而 VARCHAR 对每个字符均使用 2 字节。

char 与 varchar 如何进行选择?

  • 对于经常变更的数据来说,CHAR 比 VARCHAR更好,因为 CHAR 不容易产生碎片。

  • 对于非常短的列或固定长度的数据 如 MD5,CHAR 比 VARCHAR 在存储空间上更有效率。

  • 使用时要注意只分配需要的空间,更长的列排序时会消耗更多内存。

  • 尽量避免使用 TEXT/BLOB 类型,查询时会使用临时表,导致严重的性能开销。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1013921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号