我有一个存储员工详细信息的 SQLServer 表,列 ID 为 GUID 类型,列 EmployeeNumber 为 INT 类型。大多数时候,我会在进行连接和选择条件时处理 EmployeeNumber。
我的问题是,将主键分配给 ID 列,同时将聚集索引分配给员工编号是否明智?
是的,有可能有一个非聚集主键,也有可能有一个与主键完全无关的聚集键。默认情况下,主键也成为聚集索引键,但这不是必需的。
主键是一个逻辑概念:是数据模型中用于引用实体的键。
聚集索引键是一个物理概念:是您希望行在磁盘上存储的顺序。
选择不同的聚集键是由多种因素驱动的,例如 keywidth当您需要比主键更窄的聚集键时(因为聚集键被复制到every非聚集索引。或者经常支持范围扫描(在时间序列中常见)当数据经常通过查询访问时,例如date between '20100101' and '20100201'
(聚集索引键date
会是合适的)。
这个主题之前已经在这里讨论过,另请参阅聚集索引应该放在哪一列上?.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)