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
陳述式,以檢視關於此表格資料行的其他資訊,包括資料類型和預設值。