postgresql、mysql数据库varchar、char、text的比较
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的比较相关推荐
- MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚 一.关于UTF-8 UTF-8 Unicode Transformation Format-8bit.是用以解决 ...
- 问mysql数据库varchar(50),能存多少个中文字。 ---浅谈字符与字节的区别
最近,领导出差在外,突然一条信息将我惊醒, 问mysql数据库varchar(50),能存多少个中文字. 我内心想,幸亏有储备,说一个utf8中文3个字符,那么这里应该差不多16个字吧.领导问字符还是 ...
- mysql数据库varchar的区别_MySQL数据库char与varchar的区别分析及使用建议
在数据库中,字符 型的数据是最多的,可以占到整个数据库的80%以上.为此正确处理字符型的数据,对于提高数据库的性能有很大的作用.在字符型数据中,用的最多的就是 Char与Varchar两种类型.前面的 ...
- mysql varchar char text
建表时IP字段设成了varchar,但是由于要对其建索引,以达到与其它表结合查询时提高效率的目的,打算将它改成char,修改后竟然没有成功. 最后发现原来要改就必须把该表中的所有varchar和tex ...
- MYSQL中varchar和TEXT
起因 引发原因:门店需求新增自提门店,自提门店需要加自提点图片,在渠道店上引入了图片地址img_url 的字段,字段值定义为text not null 但是因为text字段不能设置默认值,所以未设置默 ...
- mysql的varchar与text对比
varchar和text是mysql字符存储争议比较多的领域,究竟大字段用那个比较好,我们来对比一下,然后自行选择. 大小对比 VARCHAR:varchar在mysql中必须满足最大行宽度限制,也就 ...
- MySQL数据库字段类型 text 超长报错问题解决方案
把 字段类型 改为 longtext 即可,因为: 1.text字段类型:text字段类型的字节限制为65535字节. 2.longtext字段类型:longtext字段类型的字节限制为2147483 ...
- postgresql数据库varchar、char、text的比较
https://blog.csdn.net/u013992330/article/details/76653361/ postgresql数据库varchar.char.text的比较 2017年08 ...
- MySQL中的char、varchar(10)、varchar(1000)的区别
这里写自定义目录标题 tips MySQL中的varchar与char的区别 varchar(100) 与varchar(1000)的区别 参考 tips 若无特殊指明,文中提到的存储空间指的都是占用 ...
最新文章
- 添加Page_Init事件
- 学习HTML5之塔克大战(详细记录)
- 漫画:什么是人工智能
- [渝粤教育] 西南科技大学 基础工业工程 在线考试复习资料
- electron-关闭之前,弹出提示窗
- SSM框架笔记11:Spring常用配置与高级话题
- SpingMVC 注解@RequestMapping、@SuppressWarnings、@Scheduled 定时器
- 1. paip.discuz X2.5 积分(金钱)功能API总结
- 计算机一级添加通讯录好友,电脑企业微信从微信好友中添加成员功能如何使用...
- easyui filebox 上传类型控制
- 在wget中指定代理服务器
- MATLAB中readtimetable函数用法
- Nginx网站服务与LNMP架构部署(详解)
- C# 将对象转换成字节数组(二进制数据)
- php星期代码,PHP星期几获取代码
- javaweb报修系统源码
- 马云退出阿里巴巴旗下5家公司
- react-scripts的工作原理
- 汽车线束检测标准大全
- Spring-AOP表达式execution()详解
热门文章
- 将CSDN600W用户及密码帐号存入本地MySql数据库
- [分享]极富挑战性的大公司面试的智力题
- glib 2.0 arm linux,为ARM编译Glib
- linux 播放器系统,在Linux上安装和使用开源视频播放器MPlayer
- centos查看mysql信息_CentOS查看和修改MySQL字符集
- amd linux 性能,10年内AMD处理器有多大改进?Linux下皓龙和霄龙每瓦性能对决
- 创建微服务架构的步骤_成功备战微服务的5个准备步骤
- java 返回值void_Java的返回值voidspeak
- centos7无法使用ifconfig且无法上网
- 深度学习和目标检测系列教程 4-300:目标检测入门之目标变量和损失函数