sql-server – 拥有包含聚簇索引中主键的非聚集索引是不是很糟糕?

前端之家收集整理的这篇文章主要介绍了sql-server – 拥有包含聚簇索引中主键的非聚集索引是不是很糟糕?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果在主键(int)上有一个带有聚簇索引的表,那么将一个(更多)非聚簇索引包含在非聚簇索引中的列之一是否是多余的,并且不好?

解决方法

实际上,可能有正当理由创建与群集索引相同的非聚集索引.原因是聚集索引带有行数据的包袱,这可能会导致行密度非常差. IE浏览器.由于群集密钥中没有宽字段,每页可以有2-3行,但聚簇索引键只有20个字节.在与聚簇索引完全相同的密钥和顺序上具有非聚簇索引将使每页密度为2-3百个密钥.非聚集索引可以更有效地回答OLAP / BI工作负载的许多典型聚合查询,这仅仅是因为它将I / O减少了数百倍.

对于包含群集密钥的一部分的非聚集索引,或者甚至是相同的密钥但是按不同的顺序,所有的投注都是关闭的,因为它们显然可以用于大量查询.

所以你的问题的答案是:它取决于.

要获得更精确的答案,您必须共享表格的确切模式以及所涉及的确切查询.

猜你在找的MsSQL相关文章