postgre的bpchar字段类型相当于MySQL的什么类型?
一、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的情况,超过的部分会被舍入,对于整数部分超过限制的情况,会引发错误。
猜你喜欢LIKE
相关推荐HOT
更多>>怎么向VFP数据表中一次加入多条记录?
一、怎么向VFP数据表中一次加入多条记录以下均以SQL2000、VFP6及以上的表为例代码导入:查询分析器中执行如下语句(先选择对应的数据库)————...详情>>
2023-10-19 12:53:00MySQL的自增ID用完了应该怎么办?
一、MySQL的自增ID用完了应该怎么办解决方案1:使用BIGINT数据类型一种解决方法是使用BIGINT数据类型。BIGINT数据类型的最大值是92233720368547...详情>>
2023-10-19 12:04:41jdbc的resultset底层实现原理是怎样的?
一、jdbc的resultset底层实现原理是怎样的只了解 mysql, mysql 中的 result 默认会把所有结果拿回来。默认情况下,结果集完全检索并存储在内存...详情>>
2023-10-19 09:36:35为什么查询information_schema下的TABLES这么慢?
一、为什么查询information_schema下的TABLES这么慢一般有两个原因。1、是元数据太多,就比如你的例子总共七万多张表,information_schema在统...详情>>
2023-10-19 07:37:52热门推荐
pycharm的使用技巧都有哪些?
沸C语言中定义与声明的含义是什么?
热怎么向VFP数据表中一次加入多条记录?
热JS的机制有哪些?
新MySQL的自增ID用完了应该怎么办?
C++ 写即时通讯服务器用什么数据库比较合适?
云数据库并发数和连接数是个怎样的关系?
为什么现在MySQL无法重命名数据库?
mysql.sock文件是怎么起作用的?
jdbc的resultset底层实现原理是怎样的?
Oracle/MySQL数据库创建索引的原则是什么?
Oracle怎么修改某个字段特定位置的字符?
为什么有些低端云主机(1CPU,4G内存)也提供SQLServer,这大型数据库,能运行吗?
为什么查询information_schema下的TABLES这么慢?