sql-server – Sql Server索引包含主键?
发布时间:2020-12-12 16:18:08 所属栏目:MsSql教程 来源:网络整理
导读:我的同事之一是有一种印象:当在SQL Server 2008中的表中添加索引时,PK的索引也添加到该索引中.因此,如果您使用更广泛的主键,则该键还将包含在新索引中,大大增加了上述使用的磁盘空间,超出了已经为PK上的索引支付的罚款.我以前没有听说过,到目前为止,我的搜索
我的同事之一是有一种印象:当在SQL Server 2008中的表中添加索引时,PK的索引也添加到该索引中.因此,如果您使用更广泛的主键,则该键还将包含在新索引中,大大增加了上述使用的磁盘空间,超出了已经为PK上的索引支付的罚款.我以前没有听说过,到目前为止,我的搜索空白.
希望有人在这里可以指出相关文件来确认或否认这一点.请? 解决方法您的同事正在将“主键”与“聚集索引键”混合(可能是因为默认情况下,在不指定非聚簇关键字的情况下,在堆上创建的PK将成为表的聚簇索引).It is true在具有聚簇索引的表上,聚簇索引键的值将作为包含的列添加到所有非聚簇索引中以充当行定位符. (尽管如果列已经是非聚集索引定义的一部分,则不会添加两列). 理想的聚类索引键是 > unique(为了作为一个行定位符,它必须是唯一的 – 如果SQL Server不添加一个uniquifier)> narrow(因为它在所有非聚簇索引中被复制)> static(避免在多个不同的地方更新值)>不断增加 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |