2011-10-04 121 views
2

我們的SQL數據庫中有221gb表,主要是重複數據。SQL Server索引 - HEAP上的非聚簇索引

團隊在HEAP上創建了非集羣索引。在性能方面真的有幫助嗎?

我們應該在表中放入IDENTITY列,然後創建CLUSTERED索引,然後創建NON聚集索引。

+1

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

回答

4

It Dependnds

關於數據的使用模式和結構。

非聚集索引是否涵蓋?

表中的數據是否有變化?

具有覆蓋的非聚集索引(或多個索引)的堆表可以勝過聚簇索引是唯一的「索引」的聚簇索引(聚簇索引顯然總是覆蓋,但可能不是最佳的尋找)

記住一個聚集索引不是一個索引(就基於存儲數據的位置的關鍵字進行查找而言),它是由選擇的索引組織的整個表。在真實(非集羣)索引中,索引中只包含鍵和包含列,這意味着(通常)每個數據庫頁可以存儲更多的行,並且不必要地讀取更少的數據。

大多數表格都應該有一個聚集索引,但非聚集索引的選擇是您大部分表現的來源。