postgres数据库varchar类型的最大长度
在分析一个场景时,postgres中的一个字段存储很长的字符串时,是否可能存在问题。被问到varchar类型的最大长度,不是很清楚。
查了一下,记录一下。
名字 | 描述 |
---|---|
character varying(n), varchar(n) | 变长,有长度限制 |
character(n), char(n) | 定长,不足补空白 |
text | 变长,无长度限制 |
简单来说,varchar的长度可变,而char的长度不可变,对于postgresql数据库来说varchar和char的区别仅仅在于前者是变长,而后者是定长,最大长度都是10485760(1GB)
varchar不指定长度,可以存储最大长度(1GB)的字符串,而char不指定长度,默认则为1,这点需要注意。
text类型:在postgresql数据库里边,text和varchar几乎无性能差别,区别仅在于存储结构的不同。
对于char的使用,应该在确定字符串长度的情况下使用,否则应该选择varchar或者text。
其他人说的最大长度是10485760,我不是DBA,也没做过这个实验。但是有疑问,编码格式不为UTF-8时,是否还是10485760?
text类型是挺好用的,假如需要存储一个复杂且结构可能会变化的数据,搞成json字符串存储到text里也是很好的。感觉成了MongoDB
相关推荐
Dullonjiang 2020-07-30
sofast 2020-07-08
AngelicaA 2020-07-04
Iamready 2020-06-25
TMD咯MySQL 2020-06-16
窃破天道 2020-06-12
tanyhuan 2020-06-09
debugjoker 2020-06-07
nan00zzu 2020-06-07
BiPerler 2020-06-03
勇往直前 2020-06-01
huangyx 2020-05-29
阿亮 2020-05-28
Justagreenonion 2020-05-14
sunnyJam 2020-04-03
数据库之扑朔迷离 2020-04-26
gamestart0 2020-04-10
李轮清 2020-05-11
imacoder 2020-05-10