加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:43:56 所属栏目:MsSql教程 来源:网络整理
导读:如果在主键(int)上有一个带有聚簇索引的表,那么将一个(更多)非聚簇索引包含在非聚簇索引中的列之一是否是多余的,并且不好? 解决方法 实际上,可能有正当理由创建与群集索引相同的非聚集索引.原因是聚集索引带有行数据的包袱,这可能会导致行密度非常差. IE浏览
如果在主键(int)上有一个带有聚簇索引的表,那么将一个(更多)非聚簇索引包含在非聚簇索引中的列之一是否是多余的,并且不好?

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读