处理性能并使用数据类型



我有一些Web表单,其中包含大约100至150个文本字段。因此,在大多数字段中,用户可以输入大量的字符串数据。我以前曾输入VARCHAR(150),这还不够大。

那么,我的问题是,哪个最好使用:VARCHAR(MAX)TEXT?我正在使用SQL Server 2008 R2。

堆栈溢出上有许多相关问题,但我仍然感到困惑。假设具有TEXT数据类型的50多个字段的Web表单会导致任何与性能相关的问题,还是使我们的DB非常大?我认为VARCHAR(MAX)最多可以存储多达8000个字符,但是我有一些字段可以具有8000多个字符。

请指导...

如果您使用的是SQL Server 2005或更新的使用Varchar(Max)。文本数据类型已弃用,不应用于新的开发工作。

另请参阅:http://msdn.microsoft.com/en-us/library/ms187993(v = sql.90).aspx

在评论中回答您的额外问题:8000是您可以输入默认VARCHAR(X)类型的最大值。这是因为您可以在"数据页面"中获得最大8000个字符。但是,使用Varchar(Max),您可以将最多存储为2^31-1字节,如@Doug_Ivison已提及。因此,一旦字符的数量大于8000,您就需要多个页面才能包含数据。对于"文本"类型也是有效的。对于此数量的数据,它也需要多个页面。因此,请不要使用文字。除了不弃用的事实外,它不支持Varchar(Max)所做的事情,例如搜索&的能力。索引。

最新更新