INNODB_INDEXES
資料表提供關於 InnoDB
索引的元數據。
如需相關的使用資訊和範例,請參閱第 17.15.3 節,「InnoDB INFORMATION_SCHEMA 結構物件資料表」。
INNODB_INDEXES
資料表具有以下欄位
INDEX_ID
索引的識別碼。索引識別碼在執行個體中的所有資料庫中都是唯一的。
NAME
索引的名稱。大多數由
InnoDB
隱式建立的索引具有一致的名稱,但索引名稱不一定是唯一的。範例:主鍵索引的PRIMARY
、未指定時代表主鍵的索引GEN_CLUST_INDEX
,以及外鍵約束的ID_IND
、FOR_IND
和REF_IND
。TABLE_ID
代表與索引相關聯的資料表的識別碼;與
INNODB_TABLES.TABLE_ID
相同的值。TYPE
從位元級資訊導出的數值,用於識別索引類型。0 = 非唯一次要索引;1 = 自動產生的叢集索引 (
GEN_CLUST_INDEX
);2 = 唯一非叢集索引;3 = 叢集索引;32 = 全文索引;64 = 空間索引;128 = 虛擬產生欄上的次要索引。N_FIELDS
索引鍵中欄位的數量。對於
GEN_CLUST_INDEX
索引,此值為 0,因為索引是使用人工值而不是真實的資料表欄建立的。PAGE_NO
索引 B 樹的根頁碼。對於全文索引,
PAGE_NO
欄位未使用且設定為 -1 (FIL_NULL
),因為全文索引佈局在數個 B 樹(輔助資料表)中。SPACE
索引所在的資料表空間的識別碼。0 表示
InnoDB
系統資料表空間。任何其他數字都代表以單獨的.ibd
檔案在每個資料表一個檔案模式中建立的資料表。此識別碼在TRUNCATE TABLE
陳述式之後保持不變。由於資料表的所有索引都與資料表位於相同的資料表空間中,因此此值不一定是唯一的。MERGE_THRESHOLD
索引頁面的合併閾值。當刪除一列或透過更新操作縮短一列時,如果索引頁面中的資料量低於
MERGE_THRESHOLD
值,InnoDB
會嘗試將該索引頁面與相鄰的索引頁面合併。預設閾值為 50%。詳細資訊請參閱 第 17.8.11 節,「設定索引頁面的合併閾值」。
範例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_INDEXES WHERE TABLE_ID = 34\G
*************************** 1. row ***************************
INDEX_ID: 39
NAME: GEN_CLUST_INDEX
TABLE_ID: 34
TYPE: 1
N_FIELDS: 0
PAGE_NO: 3
SPACE: 23
MERGE_THRESHOLD: 50
*************************** 2. row ***************************
INDEX_ID: 40
NAME: i1
TABLE_ID: 34
TYPE: 0
N_FIELDS: 1
PAGE_NO: 4
SPACE: 23
MERGE_THRESHOLD: 50
注意事項
您必須擁有
PROCESS
權限才能查詢此表格。使用
INFORMATION_SCHEMA
的COLUMNS
表格或SHOW COLUMNS
陳述式來檢視此表格欄位的其他資訊,包括資料類型和預設值。