Clustered-Index
“聚集索引不儲存指向數據的指針”是什麼意思?
我是 SQL 和數據庫管理的初學者,我試圖理解聚集索引和非聚集索引之間的區別。我或多或少地理解了不同的任務是什麼,但是在談到“指針”問題時我有一些問題。我不是來自 CS,所以我有一些問題來想像指針在“葉級”會發生什麼,以及它們以何種方式將索引連接到數據。那麼,聚集索引不儲存指向數據的指針是什麼意思,而非聚集索引呢?
如果這些問題聽起來很愚蠢,請提前抱歉,但此時我很困惑!
不,這不是一個壞問題。
在 MS SQL Server(和其他類似的工作方式)中,聚集索引不儲存指向數據的指針,因為它不需要,聚集索引實際上包含表數據本身。
聚集索引是表,只是以特定方式排序。
如果您創建並填充一個沒有聚集索引(稱為“堆”)的全新表,然後添加一個非聚集索引,那麼您將創建一個新的(有序)對象,該對象仍然必須指向實際中的行表。
但是如果你使用那個堆並添加一個聚集索引,你實際上是在重新排序表本身。