【问题标题】:using varchar over varchar(n) with Postgresql在 varchar(n) 上使用 varchar 和 Postgresql
【发布时间】:2013-05-13 15:25:51
【问题描述】:

我正在设计一个数据库,因为我对数据类型还不满意,我想知道以下几点:

如果我不关心字符向量的长度,是否适合使用 varchar ? (即使字符串应该很短?)

到目前为止,当我需要存储非常长的字符串时,我一直在使用 text (varchar),但阅读文档并提出问题,我听说 postgresql 不会存储额外字节,如果最大值-length 被提供并且存储的字符串的长度小于它。 我猜想使用最大长度以防远程设备负担不起大的内存空间。 有人同意或解释一下吗?

【问题讨论】:

    标签: postgresql text varchar


    【解决方案1】:

    来自文档:

    这三种类型之间没有性能差异,除了在使用空白填充类型时增加了存储空间,以及在存储到长度受限的列时需要一些额外的 CPU 周期来检查长度。虽然 character(n) 在其他一些数据库系统中具有性能优势,但在 PostgreSQL 中没有这样的优势;事实上 character(n) 通常是三个中最慢的,因为它有额外的存储成本。在大多数情况下,应改为使用文本或字符变化。

    【讨论】:

    • 所以你能说“使用 text 或 varchar,即使预期存储的字符串通常很短(也可以很长),如果内存空间不是问题的话也可以”?​​span >
    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2017-08-11
    • 1970-01-01
    • 2016-05-10
    • 2016-10-25
    • 2013-10-17
    相关资源
    最近更新 更多