sql-server – 拥有包含聚簇索引中主键的非聚集索引是不是很糟糕?
发布时间:2020-05-24 13:09:05 所属栏目:MsSql 来源:互联网
导读:如果在主键(int)上有一个带有聚簇索引的表,那么将一个(更多)非聚簇索引包含在非聚簇索引中的列之一是否是多余的,并且不好? 实际上,可能有正当理由创建与群集索引相同的非聚集索引.原因是聚集索引带有行数据的包袱,这可能会导致行密度非常差. IE浏览器.由于群
|
如果在主键(int)上有一个带有聚簇索引的表,那么将一个(更多)非聚簇索引包含在非聚簇索引中的列之一是否是多余的,并且不好? 解决方法实际上,可能有正当理由创建与群集索引相同的非聚集索引.原因是聚集索引带有行数据的包袱,这可能会导致行密度非常差. IE浏览器.由于群集密钥中没有宽字段,每页可以有2-3行,但聚簇索引键只有20个字节.在与聚簇索引完全相同的密钥和顺序上具有非聚簇索引将使每页密度为2-3百个密钥.非聚集索引可以更有效地回答OLAP / BI工作负载的许多典型聚合查询,这仅仅是因为它将I / O减少了数百倍.对于包含群集密钥的一部分的非聚集索引,或者甚至是相同的密钥但是按不同的顺序,所有的投注都是关闭的,因为它们显然可以用于大量查询. 所以你的问题的答案是:它取决于. 要获得更精确的答案,您必须共享表格的确切模式以及所涉及的确切查询. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Server 分页的两种写法分别介绍
- SQL SERVER SQL 分布式查询、插入递增列示例
- .net – 在SQL中什么是默认的最大事务超时
- sql-server – Mac上的SQL Server
- sql – 从DB2中的查询创建分隔字符串
- sql – Coldfusion – 循环数据库查询结果时的变量字段名称
- sql-server – 访问SQLCMD中SQL语句的返回值
- sql-server-2008 – SQL Server 2008的用户配置工具?
- mysql索引必须了解的几个重要问题
- sql-server-2008 – SQL Server 2008 SELECT * FROM @varia
