聚簇索引和非聚簇索引的一點小總結(不詳細,僅僅是結論,哈皮)

數據庫索引絕對是數據庫知識體系裏面很重要的一部分,上網查資料很容易被誤導,或者講的太深容易讓人云裏霧裏。

沒辦法,只能慢慢的不斷覈實和訂正。

以此文記錄,記錄學習索引的的階段性總結。

 

1.面試:說一說聚簇索引和非聚簇索引的區別。

我會毫不猶豫的答道:

聚簇索引的葉子節點就是數據節點,包含了全部數據,而非聚簇索引僅僅是包含列值和主鍵值(InnoDB)   或者是  行指針(MyIASM)。

 

2.InnoDB的聚簇索引文件本身就是表文件,二者是等價的。

3.InnoDB的主鍵就是聚簇索引,而其他索引都是非聚簇索引。

4.MYIASM索引都是非聚簇索引,包括主鍵索引。

5.InnoDB和MYIASM的非聚簇索引是由區別的,談非聚簇索引不分數據庫引擎就是耍流氓。

可以看出,InnoDB的輔助索引不需要維護行指針,因爲保存的是主鍵值(靠主鍵值去聚簇索引中找到數據),要回表查詢

而MyIASM的輔助索引是需要維護行指針的,因爲數據方法地方可能會有變動。

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章