【问题标题】:SQL Server Indexes - Non-Clustered Index on HEAPSQL Server 索引 - HEAP 上的非聚集索引
【发布时间】:2011-11-30 19:24:05
【问题描述】:

我们的 SQL 数据库中有 221gb 的表,主要是重复数据。

团队已在 HEAP 上创建了非聚集索引。这真的对性能有帮助吗?

我们是否应该将 IDENTITY 列放入表中,然后创建 CLUSTERED 索引,然后我们可以创建 NON 聚集索引。

【问题讨论】:

标签: sql-server sql-server-2005 indexing clustered-index


【解决方案1】:

视情况而定

关于数据的使用模式和结构。

非聚集索引是否覆盖?

表中的数据是否一直在变化?

具有覆盖的非聚集索引(或多个索引)的堆表可以胜过聚集索引是唯一“索引”的聚集索引(聚集索引显然总是覆盖,但可能不是最佳搜索)

请记住,聚集索引不是索引(在基于键查找数据存储位置的意义上),它是由索引选择组织的整个表。在真正的(非聚集)索引中,索引中只包含键和包含的列,这意味着(通常)每个数据库页面可以存储更多的行,而不必要地读取的数据更少。

大多数表都应该有一个聚集索引,但非聚集索引的选择是大部分性能的来源。

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 2018-05-08
    • 2013-08-20
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    相关资源
    最近更新 更多