InnoDB索引實現
1)InnoDB的資料檔案本身就是索引檔案。從上文知道,MyISAM索引檔案
是分離的,索引檔案僅儲存資料記錄的地址。而在InnoDB中,表資料
檔案本身就是按B+Tree組織的一個索引結構,這棵樹的葉節點data域
儲存了完整的資料記錄,這個索引的key是資料表的主鍵,因此InnoDB
表資料檔案本身就是主索引。
InnoDB的葉節點包含所以的資料記錄,這種索引叫做聚集索引。因為
InnoDB資料檔案本身按主鍵聚集,所以InnoDB要求必須要有主鍵,如
果沒有顯示指定,則MySQL系統會自動選擇一個可以唯一標識記錄的列
作為主鍵,如果不存在這種列,則MySQL自動為InnoDB自動為表生成一
個隱含欄位作為主鍵,這個欄位長度為6個位元組,型別為長整型
2)InnoDB輔助索引data域儲存相應記錄主鍵的值而不是地址,換句話
說,InnoDB所有輔助索引都引用主鍵作為data域。
3)聚集索引的這種方式使得按主鍵的搜尋十分搞笑,但是輔助索引搜尋
需要檢查兩邊索引,首先檢查輔助索引獲得主鍵,然後用主鍵到主索引中獲得
記錄。
相關文章
- innodb索引篇索引
- MySQL InnoDB 索引MySql索引
- mysql innodb索引高度MySql索引
- innodb 引擎索引 (一)索引
- InnoDB 索引詳解索引
- 淺析InnoDB引擎的索引和索引原理索引
- 探索MySQL的InnoDB索引失效MySql索引
- InnoDB索引與底層原理索引
- 【Mysql】InnoDB 中的聚簇索引、二級索引、聯合索引MySql索引
- 搞懂MySQL InnoDB B+樹索引MySql索引
- MySQL InnoDB的索引擴充套件MySql索引套件
- MySQL InnoDB搜尋索引的StopwordsMySql索引
- 淺談Innodb的鎖實現
- Mysql innodb引擎(一)緩衝和索引MySql索引
- www.xttblog.com MySQL InnoDB 索引原理MySql索引
- InnoDB學習(七)之索引結構索引
- InnoDB學習(八)之 聚簇索引索引
- 【Mysql】InnoDB 中的 B+ 樹索引MySql索引
- 從InnoDB 索引執行簡述 聚集索引和非聚集索引、覆蓋索引、回表、索引下推索引
- MySQL——索引實現原理MySql索引
- InnoDB儲存引擎MVCC實現原理儲存引擎MVC
- 談談InnoDB中的B+樹索引索引
- 《MySQL實戰45講》學習筆記4——MySQL中InnoDB的索引MySql筆記索引
- mysql索引底層實現MySql索引
- innodb儲存引擎鎖的實現(一)儲存引擎
- 搞懂MySQL InnoDB事務ACID實現原理MySql
- InnoDB MVCC實現原理及原始碼解析MVC原始碼
- InnoDB關鍵特性之自適應hash索引索引
- MySQL innodb如何選擇一個聚簇索引MySql索引
- MySQL中InnoDB引擎對索引的擴充套件MySql索引套件
- MySQL索引底層實現原理MySql索引
- Oracle如何實現B樹索引Oracle索引
- 堆和索引堆的python實現索引Python
- 使用高斯Redis實現二級索引Redis索引
- MySQL中Innodb如何計算索引的統計資訊?MySql索引
- 資料庫系列:InnoDB下實現高併發控制資料庫
- MySQL的索引型別和實現原理MySql索引型別
- PHP 實現堆, 堆排序以及索引堆PHP排序索引
- 一分鐘掌握MySQL的InnoDB引擎B+樹索引MySql索引