(不是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
主键可以让我避免使用JOIN
95% 的时间,因为我需要的所有数据都已经在Data
.
剩下的 5% 是否证明使用自动递增是合理的int
,从而增加查询(以及因此应用程序逻辑)的复杂性?