51

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

类型:VARCHAR 还是 NVARCHAR?

长度

MySQL 的类似问题

4

4 回答 4

57

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

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

于 2009-07-21T15:34:25.670 回答
10

您会存储多语言 URL 吗?如果是,则使用nvarchar,否则使用varchar

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

于 2009-07-21T15:27:54.313 回答
3

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

于 2009-07-21T15:29:40.253 回答
2

对于 SQL Server,您可能希望使用 NVARCHAR,因为 URL 中的非罗马字符正在制定计划(如果尚未采取行动的话)。这些天来,在 NVARCHAR 对 VARCHAR 的额外存储要求方面,我真的看不出任何问题。

于 2009-07-21T15:29:44.183 回答