用于在SQL Server(2005)中存储适量文本的最佳数据类型是什么?
例如,想象一个表,存储有关网站上可用下载的信息。 我想要一个简短的下载标题,比如varchar(20)。一个路径,比如varchar(255)然后我想存储一些关于下载的用户友好文本 - 描述。在某些情况下,它可能与标题一样短,有时您可能需要一些段落的解释。
什么是最好的?一个大小为4000的varchar,或varchar(max)或其他东西?
答案 0 :(得分:4)
PAD(便携式应用程序描述)规范程序描述的最高字符限制是2000个字符*参见程序描述部分。
http://www.asp-shareware.org/pad/spec/spec.php
下载网站提交工具使用此规范可以让作者更轻松地提交他们的软件。另外我认为你可以按照PAD规范下载一些列表。
所以我建议varchar(2000)基于这个事实,我不想存储超过我需要的东西。使用varchar(max)可以很好地记录一条记录,但是当你有数千条时,存储成本可能会上升。
编辑:varchar(max)可以是2GB - 1,这就是为什么我会限制它。 http://msdn.microsoft.com/en-us/library/ms176089(SQL.90).aspx
答案 1 :(得分:2)
使用varchar(max),您可以在其中放入一个大文本,并根据需要增加其存储大小。你可以使用sql组函数,例如on,on by varchar(max)。 或者如果在SQL中查找全文搜索,您可以使用文本数据类型
答案 2 :(得分:0)
大小应取决于所存储数据的大小。不要将varchar(max)用于只有2个字符的状态字段。我通常会查看我期望获得的最大值,然后在确定大小时添加10-20%的软糖因子。如果需要存储unicode字符,请不要忘记使用nvarchar。