SQL Server索引 - HEAP上的非聚簇索引

时间:2011-10-04 15:28:48

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

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

团队已在HEAP上创建了NON-CLUSTERED索引。在性能方面真的有帮助吗?

我们应该在表中放置IDENTITY列然后创建CLUSTERED索引AND之后我们可以创建NON聚簇索引。

1 个答案:

答案 0 :(得分:4)

取决于

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

非聚集索引是否覆盖?

表格中的数据是否在不断变化?

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

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

大多数表应该有一个聚簇索引,但是非聚集索引的选择是大多数表现来自的地方。