(不是Char(4) 作为主键或其他任何内容的副本。)
我正在为我的项目设计 SQL Server 表。到目前为止,我有两张桌子:Data和Ref.
Data结构体:
DataID SomeData SomeOtherData RefID
Ref结构体:
RefID UniqueData AlmostNeverUsedData
UniqueData 包含唯一char(32)值,并且涉及Data. 大约 5% 的查询需要AlmostNeverUsedData。
我知道使用非数据、自动递增int字段作为主键几乎总是更好,尤其是在JOIN性能方面。但在这种情况下,使用 UniqueData 作为Ref主键可以让我避免使用JOIN95% 的时间,因为我需要的所有数据都已经在Data.
剩下的 5% 是否证明使用自动递增是合理的int,从而增加查询(以及因此应用程序逻辑)的复杂性?