我有一些网页表单,其中包含大约100到150个文本字段。因此,在大多数字段中,用户可以输入大量的字符串数据。我之前输入了VARCHAR(150)
,这个数字还不够大。
所以,我的问题是,哪个更好用:VARCHAR(MAX)
或TEXT
?我正在使用SQL Server 2008 R2。
Stack Overflow上有很多相关的问题,但我仍然感到困惑。假设具有TEXT
数据类型的超过50个字段的Web表单会导致任何与性能相关的问题,或者使我们的数据库非常大吗?我认为VARCHAR(MAX)
最多可以存储8000个字符,但我有一些字段可以有超过8000个字符。
请指导......
答案 0 :(得分:2)
如果您使用的是SQL Server 2005或更新版本,请使用varchar(MAX)。不推荐使用Text数据类型,不应将其用于新的开发工作。
另见:http://msdn.microsoft.com/en-us/library/ms187993%28v=sql.90%29.aspx
在评论中回答您的额外问题: 8000是您可以在默认varchar(x)类型中输入的最大值。这是因为您可以在“数据页”中获得最多8000个字符。但是使用varchar(max),你可以存储最多2 ^ 31-1个字节,因为已经提到了@Doug_Ivison。因此,只要字符数大于8000,您就需要多个页面来包含您的数据。这同样适用于“文本”类型。此数据量还需要多个页面。所以请不要使用文字。除了它被弃用的事实之外,它不支持varchar(max)所做的事情,比如搜索和搜索的能力。索引。