URL的最佳列类型是什么?

时间:2009-07-21 15:24:19

标签: sql-server url column-types

SQL Server的URL字段的最佳列类型是什么?

输入:VARCHAR或NVARCHAR?

长度

类似question for MySQL

4 个答案:

答案 0 :(得分:50)

如果您准备在存储之前始终对网址进行网址编码(Google提供的示例是中.doc网址编码为%E4%B8%AD.doc),那么您可以安全地使用varchar。如果您希望URL中的非ASCII字符在数据库中保持可读性,那么我建议使用nvarchar。如果你不想被抓住,那就去nvarchar。

由于IE(限制性最强的主流浏览器)不支持超过2083个字符的URL,因此(除了您可能对索引或行长度的任何考虑),您可以使用nvarchar覆盖大多数有用的场景(2083) )。

答案 1 :(得分:10)

您是否会存储多语言网址?如果是,请使用nvarchar,否则请使用varchar

修改:至于长度,since IE limits URLs to being 2,083 characters您可以将其用作字段的最大长度。在这种情况下,您希望使用较低的公分母,因为您的URL应该可以在所有浏览器中使用。实际上,这是一个实际的上限,很可能永远不会包含任何接近甚至IE限制的数据。

答案 2 :(得分:3)

对于类似的事情,我总是谨慎行事并使用nvarchar。

答案 3 :(得分:2)

对于SQL Server,你会想要使用NVARCHAR我曾经想过,因为对于URL中的非罗马字符有计划(如果不是动作)。我现在无法在NVARCHAR over VARCHAR的额外存储要求中看到任何问题。