4
使用广泛的PK与单独的合成密钥和UQ之间的性能考虑因素是什么?
我有几个表,其中的记录可以通过几个广泛的业务领域进行唯一标识。过去,我将这些字段用作PK,并牢记以下好处: 简单; 没有多余的字段,只有一个索引 群集允许快速合并联接和基于范围的过滤器 但是,我听说过创建合成IDENTITY INTPK,而用单独的UNIQUE约束来强制业务密钥的情况。优点是,较窄的PK使得二级索引要小得多。 如果一个表有没有比PK其他指标,我看不出有任何理由赞成第二种方法,虽然在一个大表它可能是最好的假设,指数可能在未来是必要的,因此,有利于在狭窄合成PK 。我有什么需要考虑的地方吗? 顺便说一句,我并不是在反对在数据仓库中使用合成密钥,我只是对何时使用单个广泛的PK,何时使用狭窄的PK加广泛的英国感兴趣。