聚集索引和二級索引

2021-07-11 16:59:26 字數 306 閱讀 9670

每個innodb的表都有個特殊的索引來存放資料-聚集索引。

當在表上指定主鍵後,innodb使用它來作為聚集索引。

如果沒有定義主鍵,會找非空唯一索引來作為clustered index

如果上面2個都沒有,那麼會在內部生成乙個隱藏的clustered index

通過乙個clustered index訪問行是很快的,因為索引包含全部資料的頁。

所有的非clustered index都是二級索引,innodb中,每個二級索引的記錄中包含了行的主鍵列,innodb使用這個值去clustered index中搜尋行。

mysql索引,雜湊索引,聚集索引,二級索引

雜湊索引 雜湊索引,只有精確匹配索引所有列的查詢才有效,對於每一行資料,儲存引擎都會對所有的索引計算乙個雜湊碼。雜湊索引將所有的雜湊碼儲存在索引中,同時在雜湊表中儲存指向每個資料行的指標。如果多個列的雜湊值相同,索引會以鍊錶的方式存放多個指標記錄到同乙個雜湊條目中。因為索引自身只儲存對應的雜湊值,所...

聚簇索引和二級索引

前言 前面提到的innodb的頁目錄就是聚簇索引的一部分,但當有無數個頁的資料,頁目錄無法降低查詢的複雜度,所以引入了更加合適的索引 採用b 樹建立索引 常見的innodb儲存引擎就採用b 樹建立聚簇索引和二級索引。b 樹的特點 1 最底層葉子節點,存放資料。innodb存放真實的一行資料,myis...

建立二級索引 InnoDB索引

聚簇索引 二級索引 聯合索引 innodb的b 數索引的注意事項 索引的一些結論 索引的代價 覆蓋索引 如何挑選索引?主鍵插入順序 b 樹索引在空間和時間上都有代價,不要亂建索引!b 樹索引適用於下邊這些情況 b 樹索引不能用下邊這些情況 asc desc混用 不能高效地利用索引 where子句 現...