我已經使用了Google,但仍有點困惑。在SQL Server中如何實現聚集索引?它是用B +樹實現的嗎?如何在SQL Server中實現聚集索引
0
A
回答
0
搜索可能很難。但是,在Google上搜索「sql server聚簇索引數據結構」時,first link就是MS的答案。他們聲稱如下
默認情況下,聚集索引有一個分區。當聚簇索引具有多個分區時,每個分區都有一個包含該特定分區數據的B樹結構。 (答案適用於Sql 2005 & 2008)
就個人而言,我不一定相信這樣的答案,因爲MS說這是正確的(文檔不匹配實現太常見),我知道SQL服務器可以創建一個散列索引,但是假設哈希索引不會「聚集數據值」,MS似乎不太可能使用散列索引來聚集索引。現在,如果MS未來添加了位圖索引支持,那麼這可能適用於聚集索引。
0
爲了讓您大致瞭解樹上的記錄在物理上排序在磁盤上。這意味着硬盤上的記錄維護索引確定的順序。但是,除此之外,您有常規的「非集羣」索引,而不是指向存儲值的葉子,而是指向硬盤上的記錄。
這種機制非常簡單直觀,應用廣泛。例如,PostgreSQL具有基於非聚集索引對錶進行聚簇的功能,該非聚簇索引強制磁盤上數據的物理順序。
這不是s-f,所以如果集羣索引的文檔描述和實現之間有相關的區別,我會感到非常驚訝。這也是如此核心概念,這將是一個可怕的想法。
相關問題
- 1. 複合聚集索引和非聚集索引在sql server 2005
- 2. SQL Server聚集索引 - 索引問題
- 3. SQL Server中的複合聚集索引
- 4. sql server中的非聚集索引
- 5. SQL Server的非聚集索引設計
- 6. SQL Server 2008非聚集索引
- 7. SQL中的聚集索引
- 8. SQL Server如何處理非聚集索引中的包含列?
- 9. 如何選擇SQL Server中的聚集索引?
- 10. SQL Server非聚簇索引
- 11. 羣集索引和非聚簇索引 - SQL Server和Oracle?
- 12. 如何Foriegn重點-SQL Server上創建聚集索引
- 13. 在SQL Server 2005中沒有聚集索引的原因
- 14. 在SQL Server 2000中與INCLUDE等效的非聚集索引
- 15. 在Sql Server中計算非聚集索引的原因
- 16. SQL非聚集索引
- 17. 聚集索引和非聚集索引
- 18. 如何實現MySQL的聚集索引排序加入結果
- 19. SQL Server 2012中 - 僵局聚集索引插入
- 20. 當在SQL Server上創建非聚集索引
- 21. 在SQL Server 2012上使用ServiceStack OrmLite創建非聚集索引
- 22. 的SQL Server非聚集索引在執行計劃
- 23. 在視圖上的sql server聚集索引
- 24. 在非聚集索引上鎖定SQL Server
- 25. 是否可以將一列添加到SQL Server中的現有聚集索引?
- 26. 集羣索引SQL Server
- 27. 「主鍵」關鍵字如何與SQL Server中的聚集索引相關聯?
- 28. 如何爲SQL Server中的字符串列創建非聚集索引?
- 29. 聚集在SQL Server 2014
- 30. 在SQL Server中實現引用密鑰
你知道你在說什麼嗎?你有可能使用位圖索引在磁盤上聚集數據。 – nimdil
對我來說看起來不太可能,但我正在考慮在數據集羣中使用內存位圖索引。聚集索引可能在邏輯上通過使用位圖索引構建,可能不是傳統用例(低基數) - 所以是的,雖然用例最多隻限於使用,但這是可行的。有許多非Btree實現在理論上是可行的,但btree在一般情況下工作得很好,他們不太可能被使用。幾年前有一篇關於使用位圖索引和數據聚類的IEEE論文。 –