【发布时间】:2013-12-18 01:52:37
【问题描述】:
根据PostgreSQL Documentation,它们支持3种数据类型的字符数据:
character varying(n), varchar(n) variable-length with limit
character(n), char(n) fixed-length, blank padded
text variable unlimited length
在我的应用程序中,我遇到了一些令人不快的情况,其中插入/更新查询失败,因为要插入的所需文本超出了 varchar(n) 或 char(n) 限制。
对于此类情况,将此类列的数据类型更改为text 就足够了。
我的问题是:
- 如果我们将每个字符存储列的数据类型泛化并更改为
text,在性能/内存方面是否有任何不利之处? - 如果数据类型为
text的列每次存储10 个或更少的字符,我应该选择text还是varchar(10)? - 如果我选择
text有什么缺点?
【问题讨论】:
标签: sql postgresql types postgresql-performance