7

到目前为止,我的外键一直是 uniqueidentifiers 或 int。

如果我使用 nvarchar 字段作为外键,它会对性能产生负面影响吗?我还有其他需要注意的事项吗?

4

1 回答 1

5

虽然您可以将 nvarchar 作为外键,但我不建议您使用 nvarchar 作为外键。有很多原因,我认为其中一个非常重要的原因是,当您执行 JOINS 时,nvarchar 会比 int 慢。

如果我使用 nvarchar 字段作为外键,它会对性能产生负面影响吗?

是的,肯定会有性能问题,因为 int 使用 4 字节的数据,并且通常比 NVARCHAR 更快地加入。

您还可以sp_spaceused通过将列作为 int 和 nvarchar 来检查使用存储过程的空间使用情况,您会发现不同之处。

EXEC sp_spaceused 'TableName'
于 2014-02-26T05:24:15.887 回答