sql-server – Sql Server索引包含主键?

前端之家收集整理的这篇文章主要介绍了sql-server – Sql Server索引包含主键?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的同事之一是有一种印象:当在sql Server 2008中的表中添加索引时,PK的索引也添加到该索引中.因此,如果您使用更广泛的主键,则该键还将包含在新索引中,大大增加了上述使用的磁盘空间,超出了已经为PK上的索引支付的罚款.我以前没有听说过,到目前为止,我的搜索空白.

希望有人在这里可以指出相关文件来确认或否认这一点.请?

解决方法

您的同事正在将“主键”与“聚集索引键”混合(可能是因为默认情况下,在不指定非聚簇关键字的情况下,在堆上创建的PK将成为表的聚簇索引).

It is true在具有聚簇索引的表上,聚簇索引键的值将作为包含的列添加到所有非聚簇索引中以充当行定位符. (尽管如果列已经是非聚集索引定义的一部分,则不会添加两列).

理想的聚类索引键是

> unique(为了作为一个行定位符,它必须是唯一的 – 如果sql Server不添加一个uniquifier)> narrow(因为它在所有非聚簇索引中被复制)> static(避免在多个不同的地方更新值)>不断增加

猜你在找的MsSQL相关文章