Sql-Server

揭穿關於聚集索引的神話有什麼問題?

  • January 26, 2012

程式碼有什麼問題。或其結果,說明聚集索引是邪惡的

$$ 1 $$?

以及如何揭穿,即回歸傳統神話和最佳實踐? $$ 1 $$

揭穿關於聚集索引的神話 - 第 3 部分(範例腳本)

http://blogs.sqlserver.org.au/blogs/greg_linwood/archive/2006/09/16/377.aspx 由 gbn 編輯,2012 年 1 月

死連結曾經有一個“證明”聚集索引不好的腳本。

類似的 SO 問題:https ://stackoverflow.com/questions/4034076/reasons-not-to-have-a-clustered-index-in-sql-server-2005

該腳本具有相當寬的 varchar 聚集索引。在用隨機數據填充它之後,它也需要重建索引:你會有大量的碎片。

一個好的聚集索引是窄的、數字的並且嚴格單調遞增:這就是為什麼人們使用代理鍵……

沒有聚集索引的表被稱為“堆”,因為它正是:一堆數據放在磁碟上。無論您重建多少 NC 索引,它都會保持這種狀態。除了臨時表(具有載入/截斷使用模式)之類的東西之外,沒有理由不擁有集群主鍵。

編輯:該連結並未揭穿聚集索引的神話,而是展示瞭如何創建不合適的聚集索引以及為什麼索引維護很重要。第 1 部分和第 2 部分提到了書籤查找(現在是 SQL Server 2005+ 中的鍵查找):一個好的 NC 索引將被覆蓋,因此它們不會發生。

要了解索引,我建議 Simple Talk 的許多文章。喜歡這個

引用自:https://dba.stackexchange.com/questions/11684