我的同事之一是有一种印象:当在
sql Server 2008中的表中
添加索引时,PK的索引也
添加到该索引中.因此,如果您使用更广泛的主键,则该键还将包含在新索引中,大大
增加了上述使用的磁盘空间,超出了已经为PK上的索引支付的罚款.我以前没有听说过,到目前为止,我的
搜索空白.
希望有人在这里可以指出相关文件来确认或否认这一点.请?
您的同事正在将“主键”与“聚集索引键”混合(可能是因为默认情况下,在不指定非聚簇关键字的情况下,在堆上创建的PK将成为表的聚簇索引).
It is true在具有聚簇索引的表上,聚簇索引键的值将作为包含的列添加到所有非聚簇索引中以充当行定位符. (尽管如果列已经是非聚集索引定义的一部分,则不会添加两列).
理想的聚类索引键是
> unique(为了作为一个行定位符,它必须是唯一的 – 如果sql Server不添加一个uniquifier)> narrow(因为它在所有非聚簇索引中被复制)> static(避免在多个不同的地方更新值)>不断增加