使用順序guid的目標是,您可以使用聚簇索引,而不使用通常存在於聚簇索引中的高級別碎片,如果它是常規GUID,那麼正確?Sequential Guid主鍵列應該是聚簇索引嗎?
2
A
回答
1
是的,你是對的。
6
首先闡明,一主鍵和聚簇索引是2個獨立且不同的東西,即,一個沒有耦合到另一(PKS可以非聚集,聚集索引可以是非PKS)。
給定,我想你問的更「如果一個順序GUID作爲一個聚集索引」。這是一個加載的問題,但Kimberly Tripp has discussed this可能是我見過的任何人中最好的。請注意,文章反駁了PK,但在文章中,她提到了這種考慮主要適用於聚集索引選擇與PK。
假設您已經決定使用GUID作爲羣集密鑰(可能會也可能不是這種情況),但使用順序GUID很可能是非順序GUID的優越選擇,但是至少有一種情況是非順序的GUID可能是首選的(儘管非常罕見,非常先進的情況下,你必須基本理解你的系統和SQL服務器,以至於你毫不懷疑這應該被使用 - 會必須處理存儲設備上的熱點,並在羣集的不同位置傳輸大量寫入內容)。
相關問題
- 1. 非主鍵列上的聚簇索引或非聚簇索引?
- 2. GUID主鍵,單獨的聚簇索引列
- 3. 應將主鍵聚簇索引列添加到非聚簇索引中?
- 4. 爲什麼主鍵應該是聚簇索引?
- 5. 我應該擺脫Guid列上的聚簇索引
- 6. 碎片和GUID聚簇鍵
- 7. 聚簇索引和非聚簇索引
- 8. SQL Server性能:非聚簇索引+ INCLUDE列與聚簇索引 - 等效嗎?
- 9. 爲什麼主鍵不是聚簇索引和另一個索引是聚簇的?
- 10. GUID PK + INT IDENTITY聚簇索引+合併複製+外鍵
- 11. 聚簇索引
- 12. 改變聚簇索引列
- 13. 我可以擁有沒有聚集索引的主鍵嗎?我也可以擁有多值聚簇索引嗎?
- 14. 具有非聚簇索引但沒有聚簇索引
- 15. 當Guid是聚集索引時,通過Guid搜索表更快嗎?
- 16. 如何執行非聚簇索引查找而不是聚簇索引掃描
- 17. 聚簇索引掃描而不是聚簇索引尋求左連接
- 18. Sql Server,複合主鍵和聚簇索引
- 19. 如何停止DataContext.CreateDatabase爲表的主鍵創建聚簇索引?
- 20. SQL - 主鍵,聚簇索引,自動增量
- 21. 從非聚簇更改主鍵聚集
- 22. SqlServer聚簇索引存儲(> 1列)?
- 23. SQL Server非聚簇索引
- 24. 插入聚簇索引表
- 25. 瞭解聚簇索引
- 26. 總是在數據庫表上定義聚簇索引是個好主意嗎?
- 27. 主鍵也是索引嗎?
- 28. 全文索引vs %%和聚簇索引
- 29. SQL空間索引和聚簇索引
- 30. 使用IN時,在非主鍵列上使用聚簇索引vs =運算符
感謝您提供更多的信息,希望以後能夠讓他人受益。 – 2009-11-18 18:24:35