目前我在閱讀關於B+ Tree
的基礎知識,並且對聚集和非聚集索引的空間分配感到困惑。保存B +樹的聚簇索引和非聚簇索引的位置?
當我們在B+ tree
上創建聚簇索引時,索引存儲在主存儲器中,樹葉包含指向實際塊的數據指針。塊存儲在磁盤中,塊包含記錄。
- 通常聚集索引上創建主鍵
- 只能有一個聚集索引
現在假設我們有一個表(ID,姓名,班級),我創建了兩個非集羣索引name
和class
。 我的疑問是非聚集索引將被存儲在哪裏?
- 由於ID字段是主密鑰,以便首先使用聚簇索引將ID = 3 :以及如何搜索將要
query
像
select id, name, class from table where id = 3, name='Leo' and class='10'
我的假設來執行
name
和class
上的非聚簇索引,我們會發現其餘的域你認爲我的假設是正確的嗎?你能詳細解釋一下關於存儲聚集索引嗎? 這兩個索引(聚簇和非聚簇形成一個n-ary樹?)。我無法將聚集索引和非聚集索引一起可視化。
到目前爲止,我已閱讀:)我一直在尋找類似的東西,最好的事情。它極大地澄清了我的疑問 – python
感謝您的讚揚。 「澄清我的疑問」是什麼意思? –
該評論是非常有幫助的。 – python