我有一个存储员工详细信息的
sqlServer表,列ID为GUID类型,而EmployeeNumber为INT类型.大多数时候,我会在加入和选择标准时与EmployeeNumber进行交易.
我的问题是,在将ClusteredIndex转换为EmployeeNumber的情况下,将PrimaryKey分配给ID列是否合理?
理想聚类索引关键是:
>顺序
>选择性(无重复,每个记录唯一)
>狭窄
>用于查询
一般来说,使用GUID作为聚簇索引键是一个非常糟糕的主意,因为它会添加行,从而导致mucho碎片化.
澄清编辑:
PK和群集密钥确实是分开的概念.您的PK不需要是您的聚簇索引键.
在实际应用中,根据我自己的经验,同样的领域是您的PK应该/将是您的群集密钥,因为它符合上述相同的标准.