数据库中问题的适当限制是什么?

时间:2009-07-28 18:38:18

标签: database database-design

我正在做我的第一个数据库项目。

我想知道长度问题的适当限制。

我的计划目前有varchar(5000)个问题的长度。

数据库中问题的适当限制是什么?

[编辑]

数据库中的问题就像SO中的问题一样,具有代码格式。

8 个答案:

答案 0 :(得分:3)

您使用的是哪个DBMS?您可能希望使用TEXT列或等效项,这对于存储大量数据要好得多。

答案 1 :(得分:3)

nvarchar(max)sql server 2005

答案 2 :(得分:2)

问题可以很长吗?也许varchar(max)可能是最好的选择。 (这假设您当然正在使用SQL Server。)

答案 3 :(得分:1)

如果您还要为问题输入设计应用,则可以设置自己的限制。例如,将Twitter的限制想象为140个字符或更少。你可以在这里做同样的事情。

答案 4 :(得分:1)

正如其他答案所说,这不是数据库问题,而是应用程序问题?您需要多大的时间来存储您的问题?

然而,一件事几乎肯定是一个坏主意是使用VARCHAR来处理包含自然文本的问题。这仅支持基本的US-ASCII字符集,这很可能不是您想要的。我建议您使用NVARCHAR,它支持所有国际角色。

如果您需要一个短字段(最多说几百个字符),那么使用具有指定最大长度的字段是合理的,例如NVARCHAR(256),但是如果它有很多文本(可以出现在这个网站上),那么NVARCHAR(MAX)可能更合适。请注意,在SQL Server的更高版本中,NTEXT类型基本上已弃用。

答案 5 :(得分:0)

问题或答案?

此外,适当性完全取决于应用程序域。通过这个,我的意思是,如果你正在进行简单的调查,那么问题可能会少于500个字符。

假设您正在构建一些规范,那么表单是什么样的?

答案 6 :(得分:0)

如果确实没有限制,您可以使用允许无限制文本的CLOB(或您当地数据库的等效文件)。

答案 7 :(得分:0)

您的其他一些问题表明您正在使用PostgreSQL。如果您是,那么PostgreSQL documentation on data types可以很好地讨论可用的不同类型以及何时适合使用每种类型。特别要注意,“nvarchar”不是PostgreSQL数据类型的名称。