RPK*_*RPK 1 sql-server-2005 database-design sql-server index-tuning
听说只能有一个聚集索引?我可能错了,但我确定我在某个地方读过。
在我的 SQL Server 2005 表之一中,我有以下列:
SerialNum ------- BigInt -------- 主键
区-------- nvarchar(50)
SchemeType ------ nvarchar(50)
当我使用 SQL Server Management Studio 在设计模式下打开表时,我注意到为District启用了聚集索引属性,而为SchemeType禁用了它。
如果只能有一个聚集索引,那么为什么在SerialNum已定义为主键的情况下,District 还要启用此属性?
如果可以有更多的聚集索引,那么如何为SchemeType列启用此属性?
主键和聚集索引是两种不同的东西,尽管它们经常结合使用。您的表以这种方式结束的几个潜在原因:
(a) 它可以使用非聚集主键创建PRIMARY KEY NONCLUSTERED
,然后添加聚集索引。
(b) 可能已经添加了聚集索引,然后添加了主键(在这种情况下,它不能被聚集,因为已经有一个聚集索引)。
其中任何一个都可能是有意的设计决策、事故、事后的变化等。
在 Management Studio 的设计视图中忽略该属性。聚集索引是表,但它由指定的列定义。其他列在技术上仍然是聚集索引的一部分,它们只是不是索引中的关键列。称“启用/禁用”是一种误导。
归档时间: |
|
查看次数: |
2160 次 |
最近记录: |