2011-10-04 119 views
2

我们的SQL数据库中有221gb表,主要是重复数据。SQL Server索引 - HEAP上的非聚簇索引

团队在HEAP上创建了非集群索引。在性能方面真的有帮助吗?

我们应该在表中放入IDENTITY列,然后创建CLUSTERED索引,然后创建NON聚集索引。

+1

[你可能会觉得这篇文章很有趣](http://technet.microsoft.com/en-gb/library/cc917672.aspx) –

回答

4

It Dependnds

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

非聚集索引是否涵盖?

表中的数据是否有变化?

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

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

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