全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

postgre的bpchar字段类型相当于MySQL的什么类型?

发布时间:2023-10-13 12:22:23
发布人:xqq

一、postgre的bpchar字段类型相当于MySQL的什么类型

bpchar 是一个字符串类型。相当于mySQL中的char类型。

他是一个指定长度的字符串;例如:指定了20个长度,你存储了‘123’,长度也是20;

查询速度的话,定长字符串如果存储合适(也就是他的长度),查询效率要高于不定长的字符串。

varchar是变长字符串。

所以,如果是确定长度的存储,用char;bpchar;是可以提高查询效率的。

bpchar,varchar,char,text之间的区别与联系

背景

在使用postgresql,及实际开发及数据整理过程中,常遇见来自不同源端或不同开发人员的数据表,其字段格式相同但却有少许不一致,如text ,bpchar,varchar,char等等格式,在进行数据整合时常需要一个个去检查字段格式并做出调整

下面整理了下面几种格式的区别:

text

这种格式起源与MySQL数据库,当时是为了存储unicode型的长字符串,在postgresql数据库里边也有这个字段类型,现在text和varchar几乎无性能差别,区别仅在于存储结构的不同

char

定长字符串,如定义char(16),则实际字符串若超过16位则报error,若少于16位,则按字符串原样保存不足部分用空格填充,存储长度为16位

varchar

不定长字符串,如定义varchar(16),则实际字符串若超过16位则报error,若少于16位,则按原样保存且按实际字符长度保存

bpchar

无具体含义,是varchar类型的别名

延伸阅读:

二、PostgreSQL任意精度类型(arbitrary precision numbers)

关键特性:占用存储空间可变

语法:

NUMERIC(precision, scale)

precision,总精度,可以存储的总位数scale,小数点后的位数

NUMERIC类型适用于要求精确的场景,例如金融领域。

对NUMERIC类型的计算,如加、减、乘是精确的,但精确度的提升带来的是速度的下降,相比INTEGER类型和FLOAT类型,NUMERIC类型的计算速度十分缓慢。

对于小数位超过scale的情况,超过的部分会被舍入,对于整数部分超过限制的情况,会引发错误。

#it技术干货

相关文章

memcached、Redis缓存的数据都是key-value的形式,那缓存时,具体是key、value分别是怎样的数据呢?

memcached、Redis缓存的数据都是key-value的形式,那缓存时,具体是key、value分别是怎样的数据呢?

2023-10-13
mysql如果一张表里面两个字段的值相同,则添加到第二张表里,怎么做?

mysql如果一张表里面两个字段的值相同,则添加到第二张表里,怎么做?

2023-10-13
数据库设计时保持单个表的独立性,但是表之间没有主外键强制的约束,这样设计的利弊是什么?

数据库设计时保持单个表的独立性,但是表之间没有主外键强制的约束,这样设计的利弊是什么?

2023-10-13
PC端网站,手机版网站,APP,三者可以实现共用同一数据库,能同步更新吗?

PC端网站,手机版网站,APP,三者可以实现共用同一数据库,能同步更新吗?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取