我不明白何时使用不同的长度来调用unicode。我一直在我的postgres数据库中的所有列中使用types.Unicode(255),例如地址,名称,描述等。这样做是不明智的吗?
答案 0 :(得分:4)
不确定你的意思是“unicode(255)” - PostgreSQL中没有这样的数据类型:
# create table q (x unicode(255));
ERROR: type "unicode" does not exist
LINE 1: create table q (x unicode(255));
^
也许你的意思是varchar(255)。在这种情况下 - 让我问一下:如果你需要320个字符描述会怎样?
我个人更喜欢使用TEXT数据类型 - 因为数据库通常不关心字符串是100还是1000个字符。
答案 1 :(得分:2)
值得添加到depesz的答案,即使用文本类型而不是varchar(n)或char(n)数据类型不存在性能损失,因此除非您需要为业务目的设置硬限制,否则只需使用文本。即使这样,也要使用长度约束的文本: - )
答案 2 :(得分:0)
在数据库中使用正确的数据类型有很多原因。 Performance(pdf)是最受关注的问题,但也有其他原因。例如: