什么是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的额外存储需求中,我目前无法看到任何问题。