到目前为止,我的外键一直是 uniqueidentifiers 或 int。
如果我使用 nvarchar 字段作为外键,它会对性能产生负面影响吗?我还有其他需要注意的事项吗?
到目前为止,我的外键一直是 uniqueidentifiers 或 int。
如果我使用 nvarchar 字段作为外键,它会对性能产生负面影响吗?我还有其他需要注意的事项吗?
虽然您可以将 nvarchar 作为外键,但我不建议您使用 nvarchar 作为外键。有很多原因,我认为其中一个非常重要的原因是,当您执行 JOINS 时,nvarchar 会比 int 慢。
如果我使用 nvarchar 字段作为外键,它会对性能产生负面影响吗?
是的,肯定会有性能问题,因为 int 使用 4 字节的数据,并且通常比 NVARCHAR 更快地加入。
您还可以sp_spaceused
通过将列作为 int 和 nvarchar 来检查使用存储过程的空间使用情况,您会发现不同之处。
EXEC sp_spaceused 'TableName'