什么是URL的最佳列types?

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

types:VARCHAR或NVARCHAR?

长度

类似的问题MySQL 。

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

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

你会存储多语言url吗? 如果是这样,请使用nvarchar ,否则使用varchar

编辑:至于长度, 由于IE浏览器限制为2,083个字符的URL,你可以使用它作为你的领域的最大长度。 在这样的情况下,你想使用较低的公分母,因为你的URL应该可以在所有的浏览器中使用。 真的这是一个实际的上限,很可能永远不会包含任何接近甚至IE的限制的数据。

对于这样的事情,我会一直犯谨慎的一面,并使用nvarchar。

对于SQL Server,您将需要使用NVARCHAR,因为在URL中有非罗马字符的计划(如果不是已经有的话)正在进行计划。 在NVARCHAR over VARCHAR的额外存储需求中,我目前无法看到任何问题。