根据PostgreSQL 文档,它们支持 3 种字符数据的数据类型:
character varying(n), varchar(n) variable-length with limit
character(n), char(n) fixed-length, blank padded
text variable unlimited length
在我的应用程序中,我遇到了一些令人不快的场景,其中插入/更新查询失败,因为要插入的所需文本超出了varchar(n)
orchar(n)
限制。
对于这种情况,改变这些列的数据类型就text
足够了。
我的问题是:
- 如果我们将每个字符存储列的数据类型概括并更改为
text
,那么在性能/内存方面是否有任何不利之处? - 如果具有数据类型的列
text
每次存储 10 个或更少的字符,我应该选择text
orvarchar(10)
吗? - 如果我去有
text
什么缺点?