MYSQL:

1、char长度固定, 即每条数据占用等长字节空间;

2、 varchar可变长度,可以设置最大长度,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。

3、超过char和varchar的n设置后,字符串会被截断。

4、char的上限为255字节,varchar的上限65535字节,text的上限为65535。

5、txt在小于216字节的时候,实际空间会+2

官方说明:

Data Type

Storage Required

CHAR(M)

M × w bytes, 0 <= M <= 255, where w is the number of bytes required for the maximum-length character in the character set

BINARY(M)

M bytes, 0 <= M <= 255

VARCHAR(M), VARBINARY(M)

L + 1 bytes if column values require 0 – 255 bytes, L + 2 bytes if values may require more than 255 bytes

TINYBLOB, TINYTEXT

L + 1 bytes, where L < 28

BLOB, TEXT

L + 2 bytes, where L < 216

MEDIUMBLOB, MEDIUMTEXT

L + 3 bytes, where L < 224

LONGBLOB, LONGTEXT

L + 4 bytes, where L < 232

ENUM('value1','value2',...)

1 or 2 bytes, depending on the number of enumeration values (65,535 values maximum)

SET('value1','value2',...)

1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members maximum)

pgsql

简单来说,varchar的长度可变,而char的长度不可变,对于postgresql数据库来说varchar和char的区别仅仅在于前者是变长,而后者是定长,最大长度都是10485760(1GB)

varchar不指定长度,可以存储最大长度(1GB)的字符串,而char不指定长度,默认则为1,这点需要注意。

text类型:在postgresql数据库里边,text和varchar几乎无性能差别,区别仅在于存储结构的不同

名字 描述
character varying(n), varchar(n) 变长,有长度限制
character(n), char(n) 定长,不足补空白
text 变长,无长度限制

提示: 这三种类型之间没有性能差别,除了当使用填充空白类型时的增加存储空间,和当存储长度约束的列时一些检查存入时长度的额外的CPU周期。虽然在某些其它的数据库系统里,character(n) 有一定的性能优势,但在PostgreSQL里没有。事实上,character(n)通常是这三个中最慢的,因为额外存储成本。在大多数情况下,应该使用text 或character varying。

pgsql官方文档:PostgreSQL: Documentation: 9.0: Character Typeshttps://www.postgresql.org/docs/9.0/datatype-character.html

postgresql、mysql数据库varchar、char、text的比较相关推荐

  1. MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚

    MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚 一.关于UTF-8 UTF-8 Unicode Transformation Format-8bit.是用以解决 ...

  2. 问mysql数据库varchar(50),能存多少个中文字。 ---浅谈字符与字节的区别

    最近,领导出差在外,突然一条信息将我惊醒, 问mysql数据库varchar(50),能存多少个中文字. 我内心想,幸亏有储备,说一个utf8中文3个字符,那么这里应该差不多16个字吧.领导问字符还是 ...

  3. mysql数据库varchar的区别_MySQL数据库char与varchar的区别分析及使用建议

    在数据库中,字符 型的数据是最多的,可以占到整个数据库的80%以上.为此正确处理字符型的数据,对于提高数据库的性能有很大的作用.在字符型数据中,用的最多的就是 Char与Varchar两种类型.前面的 ...

  4. mysql varchar char text

    建表时IP字段设成了varchar,但是由于要对其建索引,以达到与其它表结合查询时提高效率的目的,打算将它改成char,修改后竟然没有成功. 最后发现原来要改就必须把该表中的所有varchar和tex ...

  5. MYSQL中varchar和TEXT

    起因 引发原因:门店需求新增自提门店,自提门店需要加自提点图片,在渠道店上引入了图片地址img_url 的字段,字段值定义为text not null 但是因为text字段不能设置默认值,所以未设置默 ...

  6. mysql的varchar与text对比

    varchar和text是mysql字符存储争议比较多的领域,究竟大字段用那个比较好,我们来对比一下,然后自行选择. 大小对比 VARCHAR:varchar在mysql中必须满足最大行宽度限制,也就 ...

  7. MySQL数据库字段类型 text 超长报错问题解决方案

    把 字段类型 改为 longtext 即可,因为: 1.text字段类型:text字段类型的字节限制为65535字节. 2.longtext字段类型:longtext字段类型的字节限制为2147483 ...

  8. postgresql数据库varchar、char、text的比较

    https://blog.csdn.net/u013992330/article/details/76653361/ postgresql数据库varchar.char.text的比较 2017年08 ...

  9. MySQL中的char、varchar(10)、varchar(1000)的区别

    这里写自定义目录标题 tips MySQL中的varchar与char的区别 varchar(100) 与varchar(1000)的区别 参考 tips 若无特殊指明,文中提到的存储空间指的都是占用 ...

最新文章

  1. 添加Page_Init事件
  2. 学习HTML5之塔克大战(详细记录)
  3. 漫画:什么是人工智能
  4. [渝粤教育] 西南科技大学 基础工业工程 在线考试复习资料
  5. electron-关闭之前,弹出提示窗
  6. SSM框架笔记11:Spring常用配置与高级话题
  7. SpingMVC 注解@RequestMapping、@SuppressWarnings、@Scheduled 定时器
  8. 1. paip.discuz X2.5 积分(金钱)功能API总结
  9. 计算机一级添加通讯录好友,电脑企业微信从微信好友中添加成员功能如何使用...
  10. easyui filebox 上传类型控制
  11. 在wget中指定代理服务器
  12. MATLAB中readtimetable函数用法
  13. Nginx网站服务与LNMP架构部署(详解)
  14. C# 将对象转换成字节数组(二进制数据)
  15. php星期代码,PHP星期几获取代码
  16. javaweb报修系统源码
  17. 马云退出阿里巴巴旗下5家公司
  18. react-scripts的工作原理
  19. 汽车线束检测标准大全
  20. Spring-AOP表达式execution()详解

热门文章

  1. 将CSDN600W用户及密码帐号存入本地MySql数据库
  2. [分享]极富挑战性的大公司面试的智力题
  3. glib 2.0 arm linux,为ARM编译Glib
  4. linux 播放器系统,在Linux上安装和使用开源视频播放器MPlayer
  5. centos查看mysql信息_CentOS查看和修改MySQL字符集
  6. amd linux 性能,10年内AMD处理器有多大改进?Linux下皓龙和霄龙每瓦性能对决
  7. 创建微服务架构的步骤_成功备战微服务的5个准备步骤
  8. java 返回值void_Java的返回值voidspeak
  9. centos7无法使用ifconfig且无法上网
  10. 深度学习和目标检测系列教程 4-300:目标检测入门之目标变量和损失函数