聚簇索引不是一種單獨的索引類型,而是一種數據存儲方式;mysql
mysql中的InnoDB的聚簇索引的存儲方式就是同時保存B-tree索引和數據行;索引一個數據表能且只能有一個聚簇索引;sql
而非聚簇索引就是索引和數據行分開存儲;索引
入下圖的聚簇索引; 索引的葉子頁包含數據,而節點包含索引列,索引列包含的是數值;im
在mysql的InnoDB中,將經過主鍵彙集數據。也就是說圖中的「被索引的列」就是主鍵列;若是沒有定義主鍵,會選擇一個惟一的非空索引代替;數據
那麼其餘索引列怎麼存儲的呢;img
其餘索引的結構是葉子節點包含的是聚簇索引的主鍵(InnoDB),這類索引稱之爲「二級索引」