存储英语短语的理想PostgreSQL数据类型是什么?

时间:2019-12-22 12:09:50

标签: postgresql sqldatatypes

这可能是一个愚蠢的问题,但是我想知道是否应该对包含英语短语的列使用VARCHAR(n)或TEXT。我不确定的原因是因为我不知道最大长度,有些短语最多可以包含15个单词或更多。我想VARCHAR(500)可以很好地工作,但我也在考虑最坏的情况。我读到PostgreSQL中的TEXT和VARCHAR(n)之间没有性能差异。在这种情况下,我应该参加TEXT吗?

1 个答案:

答案 0 :(得分:3)

文本没有限制,因此它可能是正确的选择,您对性能的要求是正确的:这是Postgres文档:

  

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

,但是您必须知道它不是标准SQL。