文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
手冊頁 (TGZ) - 258.2Kb
手冊頁 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  InnoDB 索引的物理結構

17.6.2.2 InnoDB 索引的物理結構

除了空間索引之外,InnoDB 索引都是 B 樹資料結構。空間索引使用 R 樹,這是用於索引多維資料的專用資料結構。索引記錄儲存在其 B 樹或 R 樹資料結構的葉頁中。索引頁面的預設大小為 16KB。頁面大小由初始化 MySQL 實例時的 innodb_page_size 設定決定。請參閱第 17.8.1 節,「InnoDB 啟動設定」

當新記錄插入到 InnoDB 叢集索引時,InnoDB 會嘗試將 1/16 的頁面保留空白,以供日後插入和更新索引記錄。如果索引記錄依序(升序或降序)插入,則產生的索引頁面約為 15/16 滿。如果記錄以隨機順序插入,則頁面將從 1/2 到 15/16 滿。

InnoDB 在建立或重建 B 樹索引時執行大量載入。這種索引建立方法稱為排序索引建立。innodb_fill_factor 變數定義了排序索引建立期間填滿每個 B 樹頁面的空間百分比,剩餘空間保留用於日後的索引成長。空間索引不支援排序索引建立。如需詳細資訊,請參閱第 17.6.2.3 節,「排序索引建立」innodb_fill_factor 設定為 100 會將叢集索引頁面中 1/16 的空間保留空白,以供日後索引成長。

如果 InnoDB 索引頁面的填滿因數低於 MERGE_THRESHOLD,預設情況下,如果未指定,則為 50%,InnoDB 會嘗試收縮索引樹以釋放頁面。MERGE_THRESHOLD 設定同時適用於 B 樹和 R 樹索引。如需詳細資訊,請參閱第 17.8.11 節,「設定索引頁面的合併閾值」